#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerClientLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<CustomerClientLinkOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerClientLinkOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_client_link_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_client_link_operation::Operation>,
}
pub mod customer_client_link_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerClientLink),
#[prost(message, tag="2")]
Update(super::super::resources::CustomerClientLink),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerClientLinkResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateCustomerClientLinkResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerClientLinkResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_client_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerClientLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerClientLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerClientLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerClientLinkServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_client_link(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerClientLinkRequest>,
) -> Result<
tonic::Response<super::MutateCustomerClientLinkResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerClientLinkService/MutateCustomerClientLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignAssetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignAssetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_asset_operation::Operation", tags="1, 3, 2")]
pub operation: ::core::option::Option<campaign_asset_operation::Operation>,
}
pub mod campaign_asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignAsset),
#[prost(message, tag="3")]
Update(super::super::resources::CampaignAsset),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignAssetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_asset: ::core::option::Option<super::resources::CampaignAsset>,
}
pub mod campaign_asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignAssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignAssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignAssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignAssetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignAssetsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignAssetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignAssetService/MutateCampaignAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerExtensionSettingsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerExtensionSettingOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerExtensionSettingOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_extension_setting_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<customer_extension_setting_operation::Operation>,
}
pub mod customer_extension_setting_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerExtensionSetting),
#[prost(message, tag="2")]
Update(super::super::resources::CustomerExtensionSetting),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerExtensionSettingsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerExtensionSettingResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerExtensionSettingResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_extension_setting: ::core::option::Option<super::resources::CustomerExtensionSetting>,
}
pub mod customer_extension_setting_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerExtensionSettingServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerExtensionSettingServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerExtensionSettingServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerExtensionSettingServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_extension_settings(
&mut self,
request: impl tonic::IntoRequest<
super::MutateCustomerExtensionSettingsRequest,
>,
) -> Result<
tonic::Response<super::MutateCustomerExtensionSettingsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerExtensionSettingService/MutateCustomerExtensionSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetGroupAssetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetGroupAssetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="asset_group_asset_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<asset_group_asset_operation::Operation>,
}
pub mod asset_group_asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetGroupAsset),
#[prost(message, tag="2")]
Update(super::super::resources::AssetGroupAsset),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupAssetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetGroupAssetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod asset_group_asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetGroupAssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetGroupAssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetGroupAssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetGroupAssetServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_group_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetGroupAssetsRequest>,
) -> Result<
tonic::Response<super::MutateAssetGroupAssetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetGroupAssetService/MutateAssetGroupAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignKeywordsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<KeywordPlanCampaignKeywordOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanCampaignKeywordOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="keyword_plan_campaign_keyword_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<keyword_plan_campaign_keyword_operation::Operation>,
}
pub mod keyword_plan_campaign_keyword_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::KeywordPlanCampaignKeyword),
#[prost(message, tag="2")]
Update(super::super::resources::KeywordPlanCampaignKeyword),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignKeywordsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateKeywordPlanCampaignKeywordResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignKeywordResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod keyword_plan_campaign_keyword_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanCampaignKeywordServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanCampaignKeywordServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanCampaignKeywordServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanCampaignKeywordServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_keyword_plan_campaign_keywords(
&mut self,
request: impl tonic::IntoRequest<
super::MutateKeywordPlanCampaignKeywordsRequest,
>,
) -> Result<
tonic::Response<super::MutateKeywordPlanCampaignKeywordsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService/MutateKeywordPlanCampaignKeywords",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExtensionSettingsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignExtensionSettingOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignExtensionSettingOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_extension_setting_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_extension_setting_operation::Operation>,
}
pub mod campaign_extension_setting_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignExtensionSetting),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignExtensionSetting),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExtensionSettingsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignExtensionSettingResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExtensionSettingResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_extension_setting: ::core::option::Option<super::resources::CampaignExtensionSetting>,
}
pub mod campaign_extension_setting_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignExtensionSettingServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignExtensionSettingServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignExtensionSettingServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignExtensionSettingServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_extension_settings(
&mut self,
request: impl tonic::IntoRequest<
super::MutateCampaignExtensionSettingsRequest,
>,
) -> Result<
tonic::Response<super::MutateCampaignExtensionSettingsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExtensionSettingService/MutateCampaignExtensionSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRulesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ConversionValueRuleOperation>,
#[prost(bool, tag="5")]
pub partial_failure: bool,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionValueRuleOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="conversion_value_rule_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<conversion_value_rule_operation::Operation>,
}
pub mod conversion_value_rule_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ConversionValueRule),
#[prost(message, tag="2")]
Update(super::super::resources::ConversionValueRule),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRulesResponse {
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateConversionValueRuleResult>,
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRuleResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub conversion_value_rule: ::core::option::Option<super::resources::ConversionValueRule>,
}
pub mod conversion_value_rule_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionValueRuleServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionValueRuleServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionValueRuleServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionValueRuleServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_conversion_value_rules(
&mut self,
request: impl tonic::IntoRequest<super::MutateConversionValueRulesRequest>,
) -> Result<
tonic::Response<super::MutateConversionValueRulesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionValueRuleService/MutateConversionValueRules",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignDraftsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignDraftOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteCampaignDraftRequest {
#[prost(string, tag="1")]
pub campaign_draft: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignDraftOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_draft_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_draft_operation::Operation>,
}
pub mod campaign_draft_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignDraft),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignDraft),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignDraftsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignDraftResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignDraftResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_draft: ::core::option::Option<super::resources::CampaignDraft>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCampaignDraftAsyncErrorsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub page_size: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCampaignDraftAsyncErrorsResponse {
#[prost(message, repeated, tag="1")]
pub errors: ::prost::alloc::vec::Vec<super::super::super::super::rpc::Status>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
pub mod campaign_draft_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignDraftServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignDraftServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignDraftServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignDraftServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_drafts(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignDraftsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignDraftsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignDraftService/MutateCampaignDrafts",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn promote_campaign_draft(
&mut self,
request: impl tonic::IntoRequest<super::PromoteCampaignDraftRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignDraftService/PromoteCampaignDraft",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_campaign_draft_async_errors(
&mut self,
request: impl tonic::IntoRequest<super::ListCampaignDraftAsyncErrorsRequest>,
) -> Result<
tonic::Response<super::ListCampaignDraftAsyncErrorsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignDraftService/ListCampaignDraftAsyncErrors",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupAdLabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupAdLabelOperation {
#[prost(oneof="ad_group_ad_label_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<ad_group_ad_label_operation::Operation>,
}
pub mod ad_group_ad_label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupAdLabel),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupAdLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod ad_group_ad_label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupAdLabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupAdLabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupAdLabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupAdLabelServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_ad_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupAdLabelsRequest>,
) -> Result<
tonic::Response<super::MutateAdGroupAdLabelsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupAdLabelService/MutateAdGroupAdLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupAdOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupAdOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag="5")]
pub policy_validation_parameter: ::core::option::Option<super::common::PolicyValidationParameter>,
#[prost(oneof="ad_group_ad_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_ad_operation::Operation>,
}
pub mod ad_group_ad_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupAd),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroupAd),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupAdResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAdResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_ad: ::core::option::Option<super::resources::AdGroupAd>,
}
pub mod ad_group_ad_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupAdServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupAdServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupAdServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupAdServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_ads(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupAdsRequest>,
) -> Result<tonic::Response<super::MutateAdGroupAdsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupAdService/MutateAdGroupAds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupAssetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupAssetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="ad_group_asset_operation::Operation", tags="1, 3, 2")]
pub operation: ::core::option::Option<ad_group_asset_operation::Operation>,
}
pub mod ad_group_asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupAsset),
#[prost(message, tag="3")]
Update(super::super::resources::AdGroupAsset),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAssetsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupAssetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_asset: ::core::option::Option<super::resources::AdGroupAsset>,
}
pub mod ad_group_asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupAssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupAssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupAssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupAssetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupAssetsRequest>,
) -> Result<tonic::Response<super::MutateAdGroupAssetsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupAssetService/MutateAdGroupAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupBidModifiersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupBidModifierOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupBidModifierOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="ad_group_bid_modifier_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_bid_modifier_operation::Operation>,
}
pub mod ad_group_bid_modifier_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupBidModifier),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroupBidModifier),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupBidModifiersResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupBidModifierResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupBidModifierResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_bid_modifier: ::core::option::Option<super::resources::AdGroupBidModifier>,
}
pub mod ad_group_bid_modifier_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupBidModifierServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupBidModifierServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupBidModifierServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupBidModifierServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_bid_modifiers(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupBidModifiersRequest>,
) -> Result<
tonic::Response<super::MutateAdGroupBidModifiersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupBidModifierService/MutateAdGroupBidModifiers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionCustomizersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupCriterionCustomizerOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupCriterionCustomizerOperation {
#[prost(oneof="ad_group_criterion_customizer_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<ad_group_criterion_customizer_operation::Operation>,
}
pub mod ad_group_criterion_customizer_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupCriterionCustomizer),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionCustomizersResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupCriterionCustomizerResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionCustomizerResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_criterion_customizer: ::core::option::Option<super::resources::AdGroupCriterionCustomizer>,
}
pub mod ad_group_criterion_customizer_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupCriterionCustomizerServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupCriterionCustomizerServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupCriterionCustomizerServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupCriterionCustomizerServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_criterion_customizers(
&mut self,
request: impl tonic::IntoRequest<
super::MutateAdGroupCriterionCustomizersRequest,
>,
) -> Result<
tonic::Response<super::MutateAdGroupCriterionCustomizersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupCriterionCustomizerService/MutateAdGroupCriterionCustomizers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupCriterionLabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupCriterionLabelOperation {
#[prost(oneof="ad_group_criterion_label_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<ad_group_criterion_label_operation::Operation>,
}
pub mod ad_group_criterion_label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupCriterionLabel),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupCriterionLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod ad_group_criterion_label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupCriterionLabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupCriterionLabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupCriterionLabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupCriterionLabelServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_criterion_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupCriterionLabelsRequest>,
) -> Result<
tonic::Response<super::MutateAdGroupCriterionLabelsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupCriterionLabelService/MutateAdGroupCriterionLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriteriaRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupCriterionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupCriterionOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, repeated, tag="5")]
pub exempt_policy_violation_keys: ::prost::alloc::vec::Vec<super::common::PolicyViolationKey>,
#[prost(oneof="ad_group_criterion_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_criterion_operation::Operation>,
}
pub mod ad_group_criterion_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupCriterion),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroupCriterion),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriteriaResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupCriterionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCriterionResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_criterion: ::core::option::Option<super::resources::AdGroupCriterion>,
}
pub mod ad_group_criterion_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupCriterionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupCriterionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupCriterionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupCriterionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_criteria(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupCriteriaRequest>,
) -> Result<
tonic::Response<super::MutateAdGroupCriteriaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupCriterionService/MutateAdGroupCriteria",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCustomizersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupCustomizerOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupCustomizerOperation {
#[prost(oneof="ad_group_customizer_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<ad_group_customizer_operation::Operation>,
}
pub mod ad_group_customizer_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupCustomizer),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCustomizersResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupCustomizerResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupCustomizerResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_customizer: ::core::option::Option<super::resources::AdGroupCustomizer>,
}
pub mod ad_group_customizer_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupCustomizerServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupCustomizerServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupCustomizerServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupCustomizerServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_customizers(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupCustomizersRequest>,
) -> Result<
tonic::Response<super::MutateAdGroupCustomizersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupCustomizerService/MutateAdGroupCustomizers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupExtensionSettingsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupExtensionSettingOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupExtensionSettingOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
#[prost(oneof="ad_group_extension_setting_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_extension_setting_operation::Operation>,
}
pub mod ad_group_extension_setting_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupExtensionSetting),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroupExtensionSetting),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupExtensionSettingsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupExtensionSettingResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupExtensionSettingResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_extension_setting: ::core::option::Option<super::resources::AdGroupExtensionSetting>,
}
pub mod ad_group_extension_setting_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupExtensionSettingServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupExtensionSettingServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupExtensionSettingServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupExtensionSettingServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_extension_settings(
&mut self,
request: impl tonic::IntoRequest<
super::MutateAdGroupExtensionSettingsRequest,
>,
) -> Result<
tonic::Response<super::MutateAdGroupExtensionSettingsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupExtensionSettingService/MutateAdGroupExtensionSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupFeedsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupFeedOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupFeedOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="ad_group_feed_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_feed_operation::Operation>,
}
pub mod ad_group_feed_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupFeed),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroupFeed),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupFeedsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupFeedResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupFeedResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group_feed: ::core::option::Option<super::resources::AdGroupFeed>,
}
pub mod ad_group_feed_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupFeedServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupFeedServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupFeedServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupFeedServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_feeds(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupFeedsRequest>,
) -> Result<tonic::Response<super::MutateAdGroupFeedsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupFeedService/MutateAdGroupFeeds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupLabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupLabelOperation {
#[prost(oneof="ad_group_label_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<ad_group_label_operation::Operation>,
}
pub mod ad_group_label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroupLabel),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod ad_group_label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupLabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupLabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupLabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupLabelServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_group_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupLabelsRequest>,
) -> Result<tonic::Response<super::MutateAdGroupLabelsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupLabelService/MutateAdGroupLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdGroupOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdGroupOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="ad_group_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_group_operation::Operation>,
}
pub mod ad_group_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdGroup),
#[prost(message, tag="2")]
Update(super::super::resources::AdGroup),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdGroupResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdGroupResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_group: ::core::option::Option<super::resources::AdGroup>,
}
pub mod ad_group_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdGroupServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdGroupServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdGroupServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdGroupServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_groups(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdGroupsRequest>,
) -> Result<tonic::Response<super::MutateAdGroupsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdGroupService/MutateAdGroups",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdParametersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdParameterOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdParameterOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="ad_parameter_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<ad_parameter_operation::Operation>,
}
pub mod ad_parameter_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AdParameter),
#[prost(message, tag="2")]
Update(super::super::resources::AdParameter),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdParametersResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdParameterResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdParameterResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad_parameter: ::core::option::Option<super::resources::AdParameter>,
}
pub mod ad_parameter_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdParameterServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdParameterServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdParameterServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdParameterServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_ad_parameters(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdParametersRequest>,
) -> Result<tonic::Response<super::MutateAdParametersResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdParameterService/MutateAdParameters",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAdRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AdOperation>,
#[prost(bool, tag="4")]
pub partial_failure: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdOperation {
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag="3")]
pub policy_validation_parameter: ::core::option::Option<super::common::PolicyValidationParameter>,
#[prost(oneof="ad_operation::Operation", tags="1")]
pub operation: ::core::option::Option<ad_operation::Operation>,
}
pub mod ad_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::Ad),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAdResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAdResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub ad: ::core::option::Option<super::resources::Ad>,
}
pub mod ad_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AdServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AdServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AdServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AdServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn get_ad(
&mut self,
request: impl tonic::IntoRequest<super::GetAdRequest>,
) -> Result<tonic::Response<super::super::resources::Ad>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdService/GetAd",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn mutate_ads(
&mut self,
request: impl tonic::IntoRequest<super::MutateAdsRequest>,
) -> Result<tonic::Response<super::MutateAdsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AdService/MutateAds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupListingGroupFiltersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetGroupListingGroupFilterOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetGroupListingGroupFilterOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="asset_group_listing_group_filter_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<asset_group_listing_group_filter_operation::Operation>,
}
pub mod asset_group_listing_group_filter_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetGroupListingGroupFilter),
#[prost(message, tag="2")]
Update(super::super::resources::AssetGroupListingGroupFilter),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupListingGroupFiltersResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetGroupListingGroupFilterResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupListingGroupFilterResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub asset_group_listing_group_filter: ::core::option::Option<super::resources::AssetGroupListingGroupFilter>,
}
pub mod asset_group_listing_group_filter_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetGroupListingGroupFilterServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetGroupListingGroupFilterServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetGroupListingGroupFilterServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetGroupListingGroupFilterServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_group_listing_group_filters(
&mut self,
request: impl tonic::IntoRequest<
super::MutateAssetGroupListingGroupFiltersRequest,
>,
) -> Result<
tonic::Response<super::MutateAssetGroupListingGroupFiltersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetGroupListingGroupFilterService/MutateAssetGroupListingGroupFilters",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetGroupOperation>,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetGroupOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="asset_group_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<asset_group_operation::Operation>,
}
pub mod asset_group_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetGroup),
#[prost(message, tag="2")]
Update(super::super::resources::AssetGroup),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetGroupResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod asset_group_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetGroupServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetGroupServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetGroupServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetGroupServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_groups(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetGroupsRequest>,
) -> Result<tonic::Response<super::MutateAssetGroupsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetGroupService/MutateAssetGroups",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupSignalsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetGroupSignalOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetGroupSignalOperation {
#[prost(oneof="asset_group_signal_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<asset_group_signal_operation::Operation>,
}
pub mod asset_group_signal_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetGroupSignal),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupSignalsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetGroupSignalResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetGroupSignalResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub asset_group_signal: ::core::option::Option<super::resources::AssetGroupSignal>,
}
pub mod asset_group_signal_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetGroupSignalServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetGroupSignalServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetGroupSignalServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetGroupSignalServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_group_signals(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetGroupSignalsRequest>,
) -> Result<
tonic::Response<super::MutateAssetGroupSignalsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetGroupSignalService/MutateAssetGroupSignals",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetOperation>,
#[prost(bool, tag="5")]
pub partial_failure: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="3")]
pub response_content_type: i32,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="asset_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<asset_operation::Operation>,
}
pub mod asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Asset),
#[prost(message, tag="2")]
Update(super::super::resources::Asset),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateAssetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub asset: ::core::option::Option<super::resources::Asset>,
}
pub mod asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetsRequest>,
) -> Result<tonic::Response<super::MutateAssetsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetService/MutateAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetSetAssetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetSetAssetOperation {
#[prost(oneof="asset_set_asset_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<asset_set_asset_operation::Operation>,
}
pub mod asset_set_asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetSetAsset),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetAssetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetSetAssetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub asset_set_asset: ::core::option::Option<super::resources::AssetSetAsset>,
}
pub mod asset_set_asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetSetAssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetSetAssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetSetAssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetSetAssetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_set_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetSetAssetsRequest>,
) -> Result<
tonic::Response<super::MutateAssetSetAssetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetSetAssetService/MutateAssetSetAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AssetSetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetSetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="asset_set_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<asset_set_operation::Operation>,
}
pub mod asset_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::AssetSet),
#[prost(message, tag="2")]
Update(super::super::resources::AssetSet),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAssetSetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAssetSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub asset_set: ::core::option::Option<super::resources::AssetSet>,
}
pub mod asset_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AssetSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AssetSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AssetSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AssetSetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_asset_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateAssetSetsRequest>,
) -> Result<tonic::Response<super::MutateAssetSetsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AssetSetService/MutateAssetSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAudiencesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<AudienceOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAudiencesResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateAudienceResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AudienceOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="audience_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<audience_operation::Operation>,
}
pub mod audience_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Audience),
#[prost(message, tag="2")]
Update(super::super::resources::Audience),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAudienceResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub audience: ::core::option::Option<super::resources::Audience>,
}
pub mod audience_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AudienceServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AudienceServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AudienceServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AudienceServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_audiences(
&mut self,
request: impl tonic::IntoRequest<super::MutateAudiencesRequest>,
) -> Result<tonic::Response<super::MutateAudiencesResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AudienceService/MutateAudiences",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingDataExclusionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<BiddingDataExclusionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BiddingDataExclusionOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="bidding_data_exclusion_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<bidding_data_exclusion_operation::Operation>,
}
pub mod bidding_data_exclusion_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::BiddingDataExclusion),
#[prost(message, tag="2")]
Update(super::super::resources::BiddingDataExclusion),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingDataExclusionsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateBiddingDataExclusionsResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingDataExclusionsResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub bidding_data_exclusion: ::core::option::Option<super::resources::BiddingDataExclusion>,
}
pub mod bidding_data_exclusion_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct BiddingDataExclusionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> BiddingDataExclusionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> BiddingDataExclusionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
BiddingDataExclusionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_bidding_data_exclusions(
&mut self,
request: impl tonic::IntoRequest<super::MutateBiddingDataExclusionsRequest>,
) -> Result<
tonic::Response<super::MutateBiddingDataExclusionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BiddingDataExclusionService/MutateBiddingDataExclusions",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingSeasonalityAdjustmentsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<BiddingSeasonalityAdjustmentOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BiddingSeasonalityAdjustmentOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="bidding_seasonality_adjustment_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<bidding_seasonality_adjustment_operation::Operation>,
}
pub mod bidding_seasonality_adjustment_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::BiddingSeasonalityAdjustment),
#[prost(message, tag="2")]
Update(super::super::resources::BiddingSeasonalityAdjustment),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingSeasonalityAdjustmentsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateBiddingSeasonalityAdjustmentsResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingSeasonalityAdjustmentsResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub bidding_seasonality_adjustment: ::core::option::Option<super::resources::BiddingSeasonalityAdjustment>,
}
pub mod bidding_seasonality_adjustment_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct BiddingSeasonalityAdjustmentServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> BiddingSeasonalityAdjustmentServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> BiddingSeasonalityAdjustmentServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
BiddingSeasonalityAdjustmentServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_bidding_seasonality_adjustments(
&mut self,
request: impl tonic::IntoRequest<
super::MutateBiddingSeasonalityAdjustmentsRequest,
>,
) -> Result<
tonic::Response<super::MutateBiddingSeasonalityAdjustmentsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService/MutateBiddingSeasonalityAdjustments",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingStrategiesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<BiddingStrategyOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BiddingStrategyOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="bidding_strategy_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<bidding_strategy_operation::Operation>,
}
pub mod bidding_strategy_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::BiddingStrategy),
#[prost(message, tag="2")]
Update(super::super::resources::BiddingStrategy),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingStrategiesResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateBiddingStrategyResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBiddingStrategyResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub bidding_strategy: ::core::option::Option<super::resources::BiddingStrategy>,
}
pub mod bidding_strategy_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct BiddingStrategyServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> BiddingStrategyServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> BiddingStrategyServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
BiddingStrategyServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_bidding_strategies(
&mut self,
request: impl tonic::IntoRequest<super::MutateBiddingStrategiesRequest>,
) -> Result<
tonic::Response<super::MutateBiddingStrategiesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BiddingStrategyService/MutateBiddingStrategies",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignAssetSetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignAssetSetOperation {
#[prost(oneof="campaign_asset_set_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<campaign_asset_set_operation::Operation>,
}
pub mod campaign_asset_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignAssetSet),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetSetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignAssetSetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignAssetSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_asset_set: ::core::option::Option<super::resources::CampaignAssetSet>,
}
pub mod campaign_asset_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignAssetSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignAssetSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignAssetSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignAssetSetServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_asset_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignAssetSetsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignAssetSetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignAssetSetService/MutateCampaignAssetSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBidModifiersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignBidModifierOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignBidModifierOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_bid_modifier_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_bid_modifier_operation::Operation>,
}
pub mod campaign_bid_modifier_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignBidModifier),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignBidModifier),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBidModifiersResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignBidModifierResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBidModifierResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_bid_modifier: ::core::option::Option<super::resources::CampaignBidModifier>,
}
pub mod campaign_bid_modifier_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignBidModifierServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignBidModifierServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignBidModifierServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignBidModifierServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_bid_modifiers(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignBidModifiersRequest>,
) -> Result<
tonic::Response<super::MutateCampaignBidModifiersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignBidModifierService/MutateCampaignBidModifiers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBudgetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignBudgetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignBudgetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_budget_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_budget_operation::Operation>,
}
pub mod campaign_budget_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignBudget),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignBudget),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBudgetsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignBudgetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignBudgetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_budget: ::core::option::Option<super::resources::CampaignBudget>,
}
pub mod campaign_budget_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignBudgetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignBudgetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignBudgetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignBudgetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_budgets(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignBudgetsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignBudgetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignBudgetService/MutateCampaignBudgets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignConversionGoalsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignConversionGoalOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignConversionGoalOperation {
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_conversion_goal_operation::Operation", tags="1")]
pub operation: ::core::option::Option<campaign_conversion_goal_operation::Operation>,
}
pub mod campaign_conversion_goal_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::CampaignConversionGoal),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignConversionGoalsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignConversionGoalResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignConversionGoalResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod campaign_conversion_goal_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignConversionGoalServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignConversionGoalServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignConversionGoalServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignConversionGoalServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_conversion_goals(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignConversionGoalsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignConversionGoalsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignConversionGoalService/MutateCampaignConversionGoals",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCriteriaRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignCriterionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignCriterionOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_criterion_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_criterion_operation::Operation>,
}
pub mod campaign_criterion_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignCriterion),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignCriterion),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCriteriaResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignCriterionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCriterionResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_criterion: ::core::option::Option<super::resources::CampaignCriterion>,
}
pub mod campaign_criterion_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignCriterionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignCriterionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignCriterionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignCriterionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_criteria(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignCriteriaRequest>,
) -> Result<
tonic::Response<super::MutateCampaignCriteriaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignCriterionService/MutateCampaignCriteria",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCustomizersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignCustomizerOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignCustomizerOperation {
#[prost(oneof="campaign_customizer_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<campaign_customizer_operation::Operation>,
}
pub mod campaign_customizer_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignCustomizer),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCustomizersResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignCustomizerResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignCustomizerResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_customizer: ::core::option::Option<super::resources::CampaignCustomizer>,
}
pub mod campaign_customizer_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignCustomizerServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignCustomizerServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignCustomizerServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignCustomizerServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_customizers(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignCustomizersRequest>,
) -> Result<
tonic::Response<super::MutateCampaignCustomizersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignCustomizerService/MutateCampaignCustomizers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExperimentsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignExperimentOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignExperimentOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_experiment_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<campaign_experiment_operation::Operation>,
}
pub mod campaign_experiment_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::CampaignExperiment),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExperimentsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignExperimentResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignExperimentResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_experiment: ::core::option::Option<super::resources::CampaignExperiment>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCampaignExperimentRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_experiment: ::core::option::Option<super::resources::CampaignExperiment>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCampaignExperimentMetadata {
#[prost(string, tag="1")]
pub campaign_experiment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraduateCampaignExperimentRequest {
#[prost(string, tag="1")]
pub campaign_experiment: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub campaign_budget: ::prost::alloc::string::String,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraduateCampaignExperimentResponse {
#[prost(string, tag="1")]
pub graduated_campaign: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteCampaignExperimentRequest {
#[prost(string, tag="1")]
pub campaign_experiment: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndCampaignExperimentRequest {
#[prost(string, tag="1")]
pub campaign_experiment: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCampaignExperimentAsyncErrorsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub page_size: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCampaignExperimentAsyncErrorsResponse {
#[prost(message, repeated, tag="1")]
pub errors: ::prost::alloc::vec::Vec<super::super::super::super::rpc::Status>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
pub mod campaign_experiment_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignExperimentServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignExperimentServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignExperimentServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignExperimentServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn create_campaign_experiment(
&mut self,
request: impl tonic::IntoRequest<super::CreateCampaignExperimentRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/CreateCampaignExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn mutate_campaign_experiments(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignExperimentsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignExperimentsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/MutateCampaignExperiments",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn graduate_campaign_experiment(
&mut self,
request: impl tonic::IntoRequest<super::GraduateCampaignExperimentRequest>,
) -> Result<
tonic::Response<super::GraduateCampaignExperimentResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/GraduateCampaignExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn promote_campaign_experiment(
&mut self,
request: impl tonic::IntoRequest<super::PromoteCampaignExperimentRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/PromoteCampaignExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn end_campaign_experiment(
&mut self,
request: impl tonic::IntoRequest<super::EndCampaignExperimentRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/EndCampaignExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_campaign_experiment_async_errors(
&mut self,
request: impl tonic::IntoRequest<
super::ListCampaignExperimentAsyncErrorsRequest,
>,
) -> Result<
tonic::Response<super::ListCampaignExperimentAsyncErrorsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignExperimentService/ListCampaignExperimentAsyncErrors",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignFeedsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignFeedOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignFeedOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_feed_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_feed_operation::Operation>,
}
pub mod campaign_feed_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignFeed),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignFeed),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignFeedsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignFeedResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignFeedResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_feed: ::core::option::Option<super::resources::CampaignFeed>,
}
pub mod campaign_feed_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignFeedServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignFeedServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignFeedServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignFeedServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_feeds(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignFeedsRequest>,
) -> Result<tonic::Response<super::MutateCampaignFeedsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignFeedService/MutateCampaignFeeds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignGroupsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignGroupOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignGroupOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_group_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_group_operation::Operation>,
}
pub mod campaign_group_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignGroup),
#[prost(message, tag="2")]
Update(super::super::resources::CampaignGroup),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignGroupsResponse {
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignGroupResult>,
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignGroupResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_group: ::core::option::Option<super::resources::CampaignGroup>,
}
pub mod campaign_group_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignGroupServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignGroupServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignGroupServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignGroupServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_groups(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignGroupsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignGroupsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignGroupService/MutateCampaignGroups",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignLabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignLabelOperation {
#[prost(oneof="campaign_label_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<campaign_label_operation::Operation>,
}
pub mod campaign_label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignLabel),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod campaign_label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignLabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignLabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignLabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignLabelServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignLabelsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignLabelsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignLabelService/MutateCampaignLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="campaign_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<campaign_operation::Operation>,
}
pub mod campaign_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Campaign),
#[prost(message, tag="2")]
Update(super::super::resources::Campaign),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign: ::core::option::Option<super::resources::Campaign>,
}
pub mod campaign_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaigns(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignsRequest>,
) -> Result<tonic::Response<super::MutateCampaignsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignService/MutateCampaigns",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignSharedSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CampaignSharedSetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignSharedSetOperation {
#[prost(oneof="campaign_shared_set_operation::Operation", tags="1, 3")]
pub operation: ::core::option::Option<campaign_shared_set_operation::Operation>,
}
pub mod campaign_shared_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CampaignSharedSet),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignSharedSetsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCampaignSharedSetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCampaignSharedSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub campaign_shared_set: ::core::option::Option<super::resources::CampaignSharedSet>,
}
pub mod campaign_shared_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CampaignSharedSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CampaignSharedSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CampaignSharedSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CampaignSharedSetServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_campaign_shared_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateCampaignSharedSetsRequest>,
) -> Result<
tonic::Response<super::MutateCampaignSharedSetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CampaignSharedSetService/MutateCampaignSharedSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionActionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ConversionActionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionActionOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="conversion_action_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<conversion_action_operation::Operation>,
}
pub mod conversion_action_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ConversionAction),
#[prost(message, tag="2")]
Update(super::super::resources::ConversionAction),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionActionsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateConversionActionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionActionResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub conversion_action: ::core::option::Option<super::resources::ConversionAction>,
}
pub mod conversion_action_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionActionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionActionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionActionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionActionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_conversion_actions(
&mut self,
request: impl tonic::IntoRequest<super::MutateConversionActionsRequest>,
) -> Result<
tonic::Response<super::MutateConversionActionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionActionService/MutateConversionActions",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionCustomVariablesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ConversionCustomVariableOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionCustomVariableOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="conversion_custom_variable_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<conversion_custom_variable_operation::Operation>,
}
pub mod conversion_custom_variable_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ConversionCustomVariable),
#[prost(message, tag="2")]
Update(super::super::resources::ConversionCustomVariable),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionCustomVariablesResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateConversionCustomVariableResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionCustomVariableResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub conversion_custom_variable: ::core::option::Option<super::resources::ConversionCustomVariable>,
}
pub mod conversion_custom_variable_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionCustomVariableServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionCustomVariableServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionCustomVariableServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionCustomVariableServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_conversion_custom_variables(
&mut self,
request: impl tonic::IntoRequest<
super::MutateConversionCustomVariablesRequest,
>,
) -> Result<
tonic::Response<super::MutateConversionCustomVariablesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionCustomVariableService/MutateConversionCustomVariables",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionGoalCampaignConfigsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ConversionGoalCampaignConfigOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionGoalCampaignConfigOperation {
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="conversion_goal_campaign_config_operation::Operation", tags="1")]
pub operation: ::core::option::Option<conversion_goal_campaign_config_operation::Operation>,
}
pub mod conversion_goal_campaign_config_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::ConversionGoalCampaignConfig),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionGoalCampaignConfigsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateConversionGoalCampaignConfigResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionGoalCampaignConfigResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub conversion_goal_campaign_config: ::core::option::Option<super::resources::ConversionGoalCampaignConfig>,
}
pub mod conversion_goal_campaign_config_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionGoalCampaignConfigServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionGoalCampaignConfigServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionGoalCampaignConfigServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionGoalCampaignConfigServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_conversion_goal_campaign_configs(
&mut self,
request: impl tonic::IntoRequest<
super::MutateConversionGoalCampaignConfigsRequest,
>,
) -> Result<
tonic::Response<super::MutateConversionGoalCampaignConfigsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionGoalCampaignConfigService/MutateConversionGoalCampaignConfigs",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRuleSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ConversionValueRuleSetOperation>,
#[prost(bool, tag="5")]
pub partial_failure: bool,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionValueRuleSetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="conversion_value_rule_set_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<conversion_value_rule_set_operation::Operation>,
}
pub mod conversion_value_rule_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ConversionValueRuleSet),
#[prost(message, tag="2")]
Update(super::super::resources::ConversionValueRuleSet),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRuleSetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateConversionValueRuleSetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateConversionValueRuleSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub conversion_value_rule_set: ::core::option::Option<super::resources::ConversionValueRuleSet>,
}
pub mod conversion_value_rule_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionValueRuleSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionValueRuleSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionValueRuleSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionValueRuleSetServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_conversion_value_rule_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateConversionValueRuleSetsRequest>,
) -> Result<
tonic::Response<super::MutateConversionValueRuleSetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionValueRuleSetService/MutateConversionValueRuleSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomConversionGoalsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomConversionGoalOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomConversionGoalOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="custom_conversion_goal_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<custom_conversion_goal_operation::Operation>,
}
pub mod custom_conversion_goal_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomConversionGoal),
#[prost(message, tag="2")]
Update(super::super::resources::CustomConversionGoal),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomConversionGoalsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomConversionGoalResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomConversionGoalResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub custom_conversion_goal: ::core::option::Option<super::resources::CustomConversionGoal>,
}
pub mod custom_conversion_goal_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomConversionGoalServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomConversionGoalServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomConversionGoalServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomConversionGoalServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_custom_conversion_goals(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomConversionGoalsRequest>,
) -> Result<
tonic::Response<super::MutateCustomConversionGoalsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomConversionGoalService/MutateCustomConversionGoals",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerAssetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerAssetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerAssetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_asset_operation::Operation", tags="1, 3, 2")]
pub operation: ::core::option::Option<customer_asset_operation::Operation>,
}
pub mod customer_asset_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerAsset),
#[prost(message, tag="3")]
Update(super::super::resources::CustomerAsset),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerAssetsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerAssetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerAssetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_asset: ::core::option::Option<super::resources::CustomerAsset>,
}
pub mod customer_asset_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerAssetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerAssetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerAssetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerAssetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_assets(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerAssetsRequest>,
) -> Result<
tonic::Response<super::MutateCustomerAssetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerAssetService/MutateCustomerAssets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerConversionGoalsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerConversionGoalOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerConversionGoalOperation {
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_conversion_goal_operation::Operation", tags="1")]
pub operation: ::core::option::Option<customer_conversion_goal_operation::Operation>,
}
pub mod customer_conversion_goal_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::CustomerConversionGoal),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerConversionGoalsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerConversionGoalResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerConversionGoalResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_conversion_goal_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerConversionGoalServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerConversionGoalServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerConversionGoalServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerConversionGoalServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_conversion_goals(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerConversionGoalsRequest>,
) -> Result<
tonic::Response<super::MutateCustomerConversionGoalsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerConversionGoalService/MutateCustomerConversionGoals",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerCustomizersRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerCustomizerOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerCustomizerOperation {
#[prost(oneof="customer_customizer_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_customizer_operation::Operation>,
}
pub mod customer_customizer_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerCustomizer),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerCustomizersResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerCustomizerResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerCustomizerResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_customizer: ::core::option::Option<super::resources::CustomerCustomizer>,
}
pub mod customer_customizer_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerCustomizerServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerCustomizerServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerCustomizerServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerCustomizerServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_customizers(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerCustomizersRequest>,
) -> Result<
tonic::Response<super::MutateCustomerCustomizersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerCustomizerService/MutateCustomerCustomizers",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerFeedsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerFeedOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerFeedOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_feed_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<customer_feed_operation::Operation>,
}
pub mod customer_feed_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerFeed),
#[prost(message, tag="2")]
Update(super::super::resources::CustomerFeed),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerFeedsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerFeedResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerFeedResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_feed: ::core::option::Option<super::resources::CustomerFeed>,
}
pub mod customer_feed_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerFeedServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerFeedServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerFeedServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerFeedServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_feeds(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerFeedsRequest>,
) -> Result<tonic::Response<super::MutateCustomerFeedsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerFeedService/MutateCustomerFeeds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerLabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerLabelOperation {
#[prost(oneof="customer_label_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_label_operation::Operation>,
}
pub mod customer_label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerLabel),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerLabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerLabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerLabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerLabelServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerLabelsRequest>,
) -> Result<
tonic::Response<super::MutateCustomerLabelsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerLabelService/MutateCustomerLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerNegativeCriteriaRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerNegativeCriterionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerNegativeCriterionOperation {
#[prost(oneof="customer_negative_criterion_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_negative_criterion_operation::Operation>,
}
pub mod customer_negative_criterion_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerNegativeCriterion),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerNegativeCriteriaResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerNegativeCriteriaResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerNegativeCriteriaResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_negative_criterion: ::core::option::Option<super::resources::CustomerNegativeCriterion>,
}
pub mod customer_negative_criterion_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerNegativeCriterionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerNegativeCriterionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerNegativeCriterionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerNegativeCriterionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_negative_criteria(
&mut self,
request: impl tonic::IntoRequest<
super::MutateCustomerNegativeCriteriaRequest,
>,
) -> Result<
tonic::Response<super::MutateCustomerNegativeCriteriaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerNegativeCriterionService/MutateCustomerNegativeCriteria",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="4")]
pub operation: ::core::option::Option<CustomerOperation>,
#[prost(bool, tag="5")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="6")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCustomerClientRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer_client: ::core::option::Option<super::resources::Customer>,
#[prost(string, optional, tag="5")]
pub email_address: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::enums::access_role_enum::AccessRole", tag="4")]
pub access_role: i32,
#[prost(bool, tag="6")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerOperation {
#[prost(message, optional, tag="1")]
pub update: ::core::option::Option<super::resources::Customer>,
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCustomerClientResponse {
#[prost(string, tag="2")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub invitation_link: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerResponse {
#[prost(message, optional, tag="2")]
pub result: ::core::option::Option<MutateCustomerResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customer: ::core::option::Option<super::resources::Customer>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccessibleCustomersRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccessibleCustomersResponse {
#[prost(string, repeated, tag="1")]
pub resource_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
pub mod customer_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerRequest>,
) -> Result<tonic::Response<super::MutateCustomerResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerService/MutateCustomer",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_accessible_customers(
&mut self,
request: impl tonic::IntoRequest<super::ListAccessibleCustomersRequest>,
) -> Result<
tonic::Response<super::ListAccessibleCustomersResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerService/ListAccessibleCustomers",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn create_customer_client(
&mut self,
request: impl tonic::IntoRequest<super::CreateCustomerClientRequest>,
) -> Result<
tonic::Response<super::CreateCustomerClientResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerService/CreateCustomerClient",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomizerAttributesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomizerAttributeOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomizerAttributeOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customizer_attribute_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customizer_attribute_operation::Operation>,
}
pub mod customizer_attribute_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomizerAttribute),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomizerAttributesResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomizerAttributeResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomizerAttributeResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub customizer_attribute: ::core::option::Option<super::resources::CustomizerAttribute>,
}
pub mod customizer_attribute_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomizerAttributeServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomizerAttributeServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomizerAttributeServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomizerAttributeServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customizer_attributes(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomizerAttributesRequest>,
) -> Result<
tonic::Response<super::MutateCustomizerAttributesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomizerAttributeService/MutateCustomizerAttributes",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentArmsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ExperimentArmOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExperimentArmOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="experiment_arm_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<experiment_arm_operation::Operation>,
}
pub mod experiment_arm_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ExperimentArm),
#[prost(message, tag="2")]
Update(super::super::resources::ExperimentArm),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentArmsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateExperimentArmResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentArmResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub experiment_arm: ::core::option::Option<super::resources::ExperimentArm>,
}
pub mod experiment_arm_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ExperimentArmServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ExperimentArmServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ExperimentArmServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ExperimentArmServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_experiment_arms(
&mut self,
request: impl tonic::IntoRequest<super::MutateExperimentArmsRequest>,
) -> Result<
tonic::Response<super::MutateExperimentArmsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentArmService/MutateExperimentArms",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ExperimentOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExperimentOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="experiment_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<experiment_operation::Operation>,
}
pub mod experiment_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Experiment),
#[prost(message, tag="2")]
Update(super::super::resources::Experiment),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateExperimentResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExperimentResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndExperimentRequest {
#[prost(string, tag="1")]
pub experiment: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListExperimentAsyncErrorsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub page_size: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListExperimentAsyncErrorsResponse {
#[prost(message, repeated, tag="1")]
pub errors: ::prost::alloc::vec::Vec<super::super::super::super::rpc::Status>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraduateExperimentRequest {
#[prost(string, tag="1")]
pub experiment: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub campaign_budget_mappings: ::prost::alloc::vec::Vec<CampaignBudgetMapping>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignBudgetMapping {
#[prost(string, tag="1")]
pub experiment_campaign: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub campaign_budget: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleExperimentRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleExperimentMetadata {
#[prost(string, tag="1")]
pub experiment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteExperimentRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteExperimentMetadata {
#[prost(string, tag="1")]
pub experiment: ::prost::alloc::string::String,
}
pub mod experiment_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ExperimentServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ExperimentServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ExperimentServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ExperimentServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_experiments(
&mut self,
request: impl tonic::IntoRequest<super::MutateExperimentsRequest>,
) -> Result<tonic::Response<super::MutateExperimentsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/MutateExperiments",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn end_experiment(
&mut self,
request: impl tonic::IntoRequest<super::EndExperimentRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/EndExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_experiment_async_errors(
&mut self,
request: impl tonic::IntoRequest<super::ListExperimentAsyncErrorsRequest>,
) -> Result<
tonic::Response<super::ListExperimentAsyncErrorsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/ListExperimentAsyncErrors",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn graduate_experiment(
&mut self,
request: impl tonic::IntoRequest<super::GraduateExperimentRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/GraduateExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn schedule_experiment(
&mut self,
request: impl tonic::IntoRequest<super::ScheduleExperimentRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/ScheduleExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn promote_experiment(
&mut self,
request: impl tonic::IntoRequest<super::PromoteExperimentRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExperimentService/PromoteExperiment",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExtensionFeedItemsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ExtensionFeedItemOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionFeedItemOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="extension_feed_item_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<extension_feed_item_operation::Operation>,
}
pub mod extension_feed_item_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::ExtensionFeedItem),
#[prost(message, tag="2")]
Update(super::super::resources::ExtensionFeedItem),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExtensionFeedItemsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateExtensionFeedItemResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateExtensionFeedItemResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub extension_feed_item: ::core::option::Option<super::resources::ExtensionFeedItem>,
}
pub mod extension_feed_item_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ExtensionFeedItemServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ExtensionFeedItemServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ExtensionFeedItemServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ExtensionFeedItemServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_extension_feed_items(
&mut self,
request: impl tonic::IntoRequest<super::MutateExtensionFeedItemsRequest>,
) -> Result<
tonic::Response<super::MutateExtensionFeedItemsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ExtensionFeedItemService/MutateExtensionFeedItems",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedItemOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedItemOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="feed_item_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<feed_item_operation::Operation>,
}
pub mod feed_item_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::FeedItem),
#[prost(message, tag="2")]
Update(super::super::resources::FeedItem),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateFeedItemResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub feed_item: ::core::option::Option<super::resources::FeedItem>,
}
pub mod feed_item_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedItemServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedItemServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedItemServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedItemServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feed_items(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedItemsRequest>,
) -> Result<tonic::Response<super::MutateFeedItemsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedItemService/MutateFeedItems",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetLinksRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedItemSetLinkOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedItemSetLinkOperation {
#[prost(oneof="feed_item_set_link_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<feed_item_set_link_operation::Operation>,
}
pub mod feed_item_set_link_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::FeedItemSetLink),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetLinksResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateFeedItemSetLinkResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetLinkResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod feed_item_set_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedItemSetLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedItemSetLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedItemSetLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedItemSetLinkServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feed_item_set_links(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedItemSetLinksRequest>,
) -> Result<
tonic::Response<super::MutateFeedItemSetLinksResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedItemSetLinkService/MutateFeedItemSetLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedItemSetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedItemSetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="feed_item_set_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<feed_item_set_operation::Operation>,
}
pub mod feed_item_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::FeedItemSet),
#[prost(message, tag="2")]
Update(super::super::resources::FeedItemSet),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateFeedItemSetResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod feed_item_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedItemSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedItemSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedItemSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedItemSetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feed_item_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedItemSetsRequest>,
) -> Result<tonic::Response<super::MutateFeedItemSetsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedItemSetService/MutateFeedItemSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemTargetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedItemTargetOperation>,
#[prost(bool, tag="4")]
pub partial_failure: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedItemTargetOperation {
#[prost(oneof="feed_item_target_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<feed_item_target_operation::Operation>,
}
pub mod feed_item_target_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::FeedItemTarget),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemTargetsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateFeedItemTargetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedItemTargetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub feed_item_target: ::core::option::Option<super::resources::FeedItemTarget>,
}
pub mod feed_item_target_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedItemTargetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedItemTargetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedItemTargetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedItemTargetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feed_item_targets(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedItemTargetsRequest>,
) -> Result<
tonic::Response<super::MutateFeedItemTargetsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedItemTargetService/MutateFeedItemTargets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedMappingsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedMappingOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedMappingOperation {
#[prost(oneof="feed_mapping_operation::Operation", tags="1, 3")]
pub operation: ::core::option::Option<feed_mapping_operation::Operation>,
}
pub mod feed_mapping_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::FeedMapping),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedMappingsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateFeedMappingResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedMappingResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub feed_mapping: ::core::option::Option<super::resources::FeedMapping>,
}
pub mod feed_mapping_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedMappingServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedMappingServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedMappingServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedMappingServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feed_mappings(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedMappingsRequest>,
) -> Result<tonic::Response<super::MutateFeedMappingsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedMappingService/MutateFeedMappings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<FeedOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeedOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="feed_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<feed_operation::Operation>,
}
pub mod feed_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Feed),
#[prost(message, tag="2")]
Update(super::super::resources::Feed),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateFeedResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateFeedResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub feed: ::core::option::Option<super::resources::Feed>,
}
pub mod feed_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct FeedServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> FeedServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FeedServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
FeedServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_feeds(
&mut self,
request: impl tonic::IntoRequest<super::MutateFeedsRequest>,
) -> Result<tonic::Response<super::MutateFeedsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.FeedService/MutateFeeds",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupKeywordsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<KeywordPlanAdGroupKeywordOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanAdGroupKeywordOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="keyword_plan_ad_group_keyword_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<keyword_plan_ad_group_keyword_operation::Operation>,
}
pub mod keyword_plan_ad_group_keyword_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::KeywordPlanAdGroupKeyword),
#[prost(message, tag="2")]
Update(super::super::resources::KeywordPlanAdGroupKeyword),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupKeywordsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateKeywordPlanAdGroupKeywordResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupKeywordResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod keyword_plan_ad_group_keyword_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanAdGroupKeywordServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanAdGroupKeywordServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanAdGroupKeywordServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanAdGroupKeywordServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_keyword_plan_ad_group_keywords(
&mut self,
request: impl tonic::IntoRequest<
super::MutateKeywordPlanAdGroupKeywordsRequest,
>,
) -> Result<
tonic::Response<super::MutateKeywordPlanAdGroupKeywordsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService/MutateKeywordPlanAdGroupKeywords",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<KeywordPlanAdGroupOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanAdGroupOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="keyword_plan_ad_group_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<keyword_plan_ad_group_operation::Operation>,
}
pub mod keyword_plan_ad_group_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::KeywordPlanAdGroup),
#[prost(message, tag="2")]
Update(super::super::resources::KeywordPlanAdGroup),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateKeywordPlanAdGroupResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanAdGroupResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod keyword_plan_ad_group_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanAdGroupServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanAdGroupServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanAdGroupServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanAdGroupServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_keyword_plan_ad_groups(
&mut self,
request: impl tonic::IntoRequest<super::MutateKeywordPlanAdGroupsRequest>,
) -> Result<
tonic::Response<super::MutateKeywordPlanAdGroupsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanAdGroupService/MutateKeywordPlanAdGroups",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<KeywordPlanCampaignOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanCampaignOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="keyword_plan_campaign_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<keyword_plan_campaign_operation::Operation>,
}
pub mod keyword_plan_campaign_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::KeywordPlanCampaign),
#[prost(message, tag="2")]
Update(super::super::resources::KeywordPlanCampaign),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateKeywordPlanCampaignResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlanCampaignResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod keyword_plan_campaign_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanCampaignServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanCampaignServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanCampaignServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanCampaignServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_keyword_plan_campaigns(
&mut self,
request: impl tonic::IntoRequest<super::MutateKeywordPlanCampaignsRequest>,
) -> Result<
tonic::Response<super::MutateKeywordPlanCampaignsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanCampaignService/MutateKeywordPlanCampaigns",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlansRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<KeywordPlanOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="keyword_plan_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<keyword_plan_operation::Operation>,
}
pub mod keyword_plan_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::KeywordPlan),
#[prost(message, tag="2")]
Update(super::super::resources::KeywordPlan),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlansResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateKeywordPlansResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateKeywordPlansResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastCurveRequest {
#[prost(string, tag="1")]
pub keyword_plan: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastCurveResponse {
#[prost(message, repeated, tag="1")]
pub campaign_forecast_curves: ::prost::alloc::vec::Vec<KeywordPlanCampaignForecastCurve>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastTimeSeriesRequest {
#[prost(string, tag="1")]
pub keyword_plan: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastTimeSeriesResponse {
#[prost(message, repeated, tag="1")]
pub weekly_time_series_forecasts: ::prost::alloc::vec::Vec<KeywordPlanWeeklyTimeSeriesForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastMetricsRequest {
#[prost(string, tag="1")]
pub keyword_plan: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateForecastMetricsResponse {
#[prost(message, repeated, tag="1")]
pub campaign_forecasts: ::prost::alloc::vec::Vec<KeywordPlanCampaignForecast>,
#[prost(message, repeated, tag="2")]
pub ad_group_forecasts: ::prost::alloc::vec::Vec<KeywordPlanAdGroupForecast>,
#[prost(message, repeated, tag="3")]
pub keyword_forecasts: ::prost::alloc::vec::Vec<KeywordPlanKeywordForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanCampaignForecast {
#[prost(string, optional, tag="3")]
pub keyword_plan_campaign: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub campaign_forecast: ::core::option::Option<ForecastMetrics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanAdGroupForecast {
#[prost(string, optional, tag="3")]
pub keyword_plan_ad_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub ad_group_forecast: ::core::option::Option<ForecastMetrics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanKeywordForecast {
#[prost(string, optional, tag="3")]
pub keyword_plan_ad_group_keyword: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub keyword_forecast: ::core::option::Option<ForecastMetrics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanCampaignForecastCurve {
#[prost(string, optional, tag="3")]
pub keyword_plan_campaign: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub max_cpc_bid_forecast_curve: ::core::option::Option<KeywordPlanMaxCpcBidForecastCurve>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanMaxCpcBidForecastCurve {
#[prost(message, repeated, tag="1")]
pub max_cpc_bid_forecasts: ::prost::alloc::vec::Vec<KeywordPlanMaxCpcBidForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanMaxCpcBidForecast {
#[prost(int64, optional, tag="3")]
pub max_cpc_bid_micros: ::core::option::Option<i64>,
#[prost(message, optional, tag="2")]
pub max_cpc_bid_forecast: ::core::option::Option<ForecastMetrics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanWeeklyTimeSeriesForecast {
#[prost(string, optional, tag="1")]
pub keyword_plan_campaign: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="2")]
pub weekly_forecasts: ::prost::alloc::vec::Vec<KeywordPlanWeeklyForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanWeeklyForecast {
#[prost(string, optional, tag="1")]
pub start_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub forecast: ::core::option::Option<ForecastMetrics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ForecastMetrics {
#[prost(double, optional, tag="7")]
pub impressions: ::core::option::Option<f64>,
#[prost(double, optional, tag="8")]
pub ctr: ::core::option::Option<f64>,
#[prost(int64, optional, tag="9")]
pub average_cpc: ::core::option::Option<i64>,
#[prost(double, optional, tag="10")]
pub clicks: ::core::option::Option<f64>,
#[prost(int64, optional, tag="11")]
pub cost_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateHistoricalMetricsRequest {
#[prost(string, tag="1")]
pub keyword_plan: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub aggregate_metrics: ::core::option::Option<super::common::KeywordPlanAggregateMetrics>,
#[prost(message, optional, tag="3")]
pub historical_metrics_options: ::core::option::Option<super::common::HistoricalMetricsOptions>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateHistoricalMetricsResponse {
#[prost(message, repeated, tag="1")]
pub metrics: ::prost::alloc::vec::Vec<KeywordPlanKeywordHistoricalMetrics>,
#[prost(message, optional, tag="2")]
pub aggregate_metric_results: ::core::option::Option<super::common::KeywordPlanAggregateMetricResults>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordPlanKeywordHistoricalMetrics {
#[prost(string, optional, tag="4")]
pub search_query: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="3")]
pub close_variants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub keyword_metrics: ::core::option::Option<super::common::KeywordPlanHistoricalMetrics>,
}
pub mod keyword_plan_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_keyword_plans(
&mut self,
request: impl tonic::IntoRequest<super::MutateKeywordPlansRequest>,
) -> Result<tonic::Response<super::MutateKeywordPlansResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanService/MutateKeywordPlans",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_forecast_curve(
&mut self,
request: impl tonic::IntoRequest<super::GenerateForecastCurveRequest>,
) -> Result<
tonic::Response<super::GenerateForecastCurveResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanService/GenerateForecastCurve",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_forecast_time_series(
&mut self,
request: impl tonic::IntoRequest<super::GenerateForecastTimeSeriesRequest>,
) -> Result<
tonic::Response<super::GenerateForecastTimeSeriesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanService/GenerateForecastTimeSeries",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_forecast_metrics(
&mut self,
request: impl tonic::IntoRequest<super::GenerateForecastMetricsRequest>,
) -> Result<
tonic::Response<super::GenerateForecastMetricsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanService/GenerateForecastMetrics",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_historical_metrics(
&mut self,
request: impl tonic::IntoRequest<super::GenerateHistoricalMetricsRequest>,
) -> Result<
tonic::Response<super::GenerateHistoricalMetricsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanService/GenerateHistoricalMetrics",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateLabelsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<LabelOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LabelOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="label_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<label_operation::Operation>,
}
pub mod label_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::Label),
#[prost(message, tag="2")]
Update(super::super::resources::Label),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateLabelsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateLabelResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateLabelResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub label: ::core::option::Option<super::resources::Label>,
}
pub mod label_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct LabelServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> LabelServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> LabelServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
LabelServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_labels(
&mut self,
request: impl tonic::IntoRequest<super::MutateLabelsRequest>,
) -> Result<tonic::Response<super::MutateLabelsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.LabelService/MutateLabels",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMediaFilesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<MediaFileOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MediaFileOperation {
#[prost(oneof="media_file_operation::Operation", tags="1")]
pub operation: ::core::option::Option<media_file_operation::Operation>,
}
pub mod media_file_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::MediaFile),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMediaFilesResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateMediaFileResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMediaFileResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub media_file: ::core::option::Option<super::resources::MediaFile>,
}
pub mod media_file_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct MediaFileServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> MediaFileServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> MediaFileServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
MediaFileServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_media_files(
&mut self,
request: impl tonic::IntoRequest<super::MutateMediaFilesRequest>,
) -> Result<tonic::Response<super::MutateMediaFilesResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.MediaFileService/MutateMediaFiles",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateRemarketingActionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<RemarketingActionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemarketingActionOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="remarketing_action_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<remarketing_action_operation::Operation>,
}
pub mod remarketing_action_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::RemarketingAction),
#[prost(message, tag="2")]
Update(super::super::resources::RemarketingAction),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateRemarketingActionsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateRemarketingActionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateRemarketingActionResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod remarketing_action_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct RemarketingActionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> RemarketingActionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> RemarketingActionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
RemarketingActionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_remarketing_actions(
&mut self,
request: impl tonic::IntoRequest<super::MutateRemarketingActionsRequest>,
) -> Result<
tonic::Response<super::MutateRemarketingActionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.RemarketingActionService/MutateRemarketingActions",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedCriteriaRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<SharedCriterionOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharedCriterionOperation {
#[prost(oneof="shared_criterion_operation::Operation", tags="1, 3")]
pub operation: ::core::option::Option<shared_criterion_operation::Operation>,
}
pub mod shared_criterion_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::SharedCriterion),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedCriteriaResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateSharedCriterionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedCriterionResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub shared_criterion: ::core::option::Option<super::resources::SharedCriterion>,
}
pub mod shared_criterion_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct SharedCriterionServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> SharedCriterionServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> SharedCriterionServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
SharedCriterionServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_shared_criteria(
&mut self,
request: impl tonic::IntoRequest<super::MutateSharedCriteriaRequest>,
) -> Result<
tonic::Response<super::MutateSharedCriteriaResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SharedCriterionService/MutateSharedCriteria",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedSetsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<SharedSetOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharedSetOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="shared_set_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<shared_set_operation::Operation>,
}
pub mod shared_set_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::SharedSet),
#[prost(message, tag="2")]
Update(super::super::resources::SharedSet),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedSetsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateSharedSetResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSharedSetResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub shared_set: ::core::option::Option<super::resources::SharedSet>,
}
pub mod shared_set_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct SharedSetServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> SharedSetServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> SharedSetServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
SharedSetServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_shared_sets(
&mut self,
request: impl tonic::IntoRequest<super::MutateSharedSetsRequest>,
) -> Result<tonic::Response<super::MutateSharedSetsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SharedSetService/MutateSharedSets",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSmartCampaignSettingsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<SmartCampaignSettingOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmartCampaignSettingOperation {
#[prost(message, optional, tag="1")]
pub update: ::core::option::Option<super::resources::SmartCampaignSetting>,
#[prost(message, optional, tag="2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSmartCampaignSettingsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateSmartCampaignSettingResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateSmartCampaignSettingResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub smart_campaign_setting: ::core::option::Option<super::resources::SmartCampaignSetting>,
}
pub mod smart_campaign_setting_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct SmartCampaignSettingServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> SmartCampaignSettingServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> SmartCampaignSettingServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
SmartCampaignSettingServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_smart_campaign_settings(
&mut self,
request: impl tonic::IntoRequest<super::MutateSmartCampaignSettingsRequest>,
) -> Result<
tonic::Response<super::MutateSmartCampaignSettingsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SmartCampaignSettingService/MutateSmartCampaignSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateUserListsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<UserListOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserListOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="user_list_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<user_list_operation::Operation>,
}
pub mod user_list_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::UserList),
#[prost(message, tag="2")]
Update(super::super::resources::UserList),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateUserListsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateUserListResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateUserListResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod user_list_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct UserListServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> UserListServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> UserListServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
UserListServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_user_lists(
&mut self,
request: impl tonic::IntoRequest<super::MutateUserListsRequest>,
) -> Result<tonic::Response<super::MutateUserListsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.UserListService/MutateUserLists",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub page_size: i32,
#[prost(bool, tag="5")]
pub validate_only: bool,
#[prost(bool, tag="7")]
pub return_total_results_count: bool,
#[prost(enumeration="super::enums::summary_row_setting_enum::SummaryRowSetting", tag="8")]
pub summary_row_setting: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<GoogleAdsRow>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
#[prost(int64, tag="3")]
pub total_results_count: i64,
#[prost(message, optional, tag="5")]
pub field_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag="6")]
pub summary_row: ::core::option::Option<GoogleAdsRow>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsStreamRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub query: ::prost::alloc::string::String,
#[prost(enumeration="super::enums::summary_row_setting_enum::SummaryRowSetting", tag="3")]
pub summary_row_setting: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsStreamResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<GoogleAdsRow>,
#[prost(message, optional, tag="2")]
pub field_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag="3")]
pub summary_row: ::core::option::Option<GoogleAdsRow>,
#[prost(string, tag="4")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GoogleAdsRow {
#[prost(message, optional, tag="42")]
pub account_budget: ::core::option::Option<super::resources::AccountBudget>,
#[prost(message, optional, tag="43")]
pub account_budget_proposal: ::core::option::Option<super::resources::AccountBudgetProposal>,
#[prost(message, optional, tag="143")]
pub account_link: ::core::option::Option<super::resources::AccountLink>,
#[prost(message, optional, tag="3")]
pub ad_group: ::core::option::Option<super::resources::AdGroup>,
#[prost(message, optional, tag="16")]
pub ad_group_ad: ::core::option::Option<super::resources::AdGroupAd>,
#[prost(message, optional, tag="193")]
pub ad_group_ad_asset_combination_view: ::core::option::Option<super::resources::AdGroupAdAssetCombinationView>,
#[prost(message, optional, tag="131")]
pub ad_group_ad_asset_view: ::core::option::Option<super::resources::AdGroupAdAssetView>,
#[prost(message, optional, tag="120")]
pub ad_group_ad_label: ::core::option::Option<super::resources::AdGroupAdLabel>,
#[prost(message, optional, tag="154")]
pub ad_group_asset: ::core::option::Option<super::resources::AdGroupAsset>,
#[prost(message, optional, tag="57")]
pub ad_group_audience_view: ::core::option::Option<super::resources::AdGroupAudienceView>,
#[prost(message, optional, tag="24")]
pub ad_group_bid_modifier: ::core::option::Option<super::resources::AdGroupBidModifier>,
#[prost(message, optional, tag="17")]
pub ad_group_criterion: ::core::option::Option<super::resources::AdGroupCriterion>,
#[prost(message, optional, tag="187")]
pub ad_group_criterion_customizer: ::core::option::Option<super::resources::AdGroupCriterionCustomizer>,
#[prost(message, optional, tag="121")]
pub ad_group_criterion_label: ::core::option::Option<super::resources::AdGroupCriterionLabel>,
#[prost(message, optional, tag="110")]
pub ad_group_criterion_simulation: ::core::option::Option<super::resources::AdGroupCriterionSimulation>,
#[prost(message, optional, tag="185")]
pub ad_group_customizer: ::core::option::Option<super::resources::AdGroupCustomizer>,
#[prost(message, optional, tag="112")]
pub ad_group_extension_setting: ::core::option::Option<super::resources::AdGroupExtensionSetting>,
#[prost(message, optional, tag="67")]
pub ad_group_feed: ::core::option::Option<super::resources::AdGroupFeed>,
#[prost(message, optional, tag="115")]
pub ad_group_label: ::core::option::Option<super::resources::AdGroupLabel>,
#[prost(message, optional, tag="107")]
pub ad_group_simulation: ::core::option::Option<super::resources::AdGroupSimulation>,
#[prost(message, optional, tag="130")]
pub ad_parameter: ::core::option::Option<super::resources::AdParameter>,
#[prost(message, optional, tag="48")]
pub age_range_view: ::core::option::Option<super::resources::AgeRangeView>,
#[prost(message, optional, tag="89")]
pub ad_schedule_view: ::core::option::Option<super::resources::AdScheduleView>,
#[prost(message, optional, tag="91")]
pub domain_category: ::core::option::Option<super::resources::DomainCategory>,
#[prost(message, optional, tag="105")]
pub asset: ::core::option::Option<super::resources::Asset>,
#[prost(message, optional, tag="168")]
pub asset_field_type_view: ::core::option::Option<super::resources::AssetFieldTypeView>,
#[prost(message, optional, tag="173")]
pub asset_group_asset: ::core::option::Option<super::resources::AssetGroupAsset>,
#[prost(message, optional, tag="191")]
pub asset_group_signal: ::core::option::Option<super::resources::AssetGroupSignal>,
#[prost(message, optional, tag="182")]
pub asset_group_listing_group_filter: ::core::option::Option<super::resources::AssetGroupListingGroupFilter>,
#[prost(message, optional, tag="189")]
pub asset_group_product_group_view: ::core::option::Option<super::resources::AssetGroupProductGroupView>,
#[prost(message, optional, tag="172")]
pub asset_group: ::core::option::Option<super::resources::AssetGroup>,
#[prost(message, optional, tag="180")]
pub asset_set_asset: ::core::option::Option<super::resources::AssetSetAsset>,
#[prost(message, optional, tag="179")]
pub asset_set: ::core::option::Option<super::resources::AssetSet>,
#[prost(message, optional, tag="139")]
pub batch_job: ::core::option::Option<super::resources::BatchJob>,
#[prost(message, optional, tag="159")]
pub bidding_data_exclusion: ::core::option::Option<super::resources::BiddingDataExclusion>,
#[prost(message, optional, tag="160")]
pub bidding_seasonality_adjustment: ::core::option::Option<super::resources::BiddingSeasonalityAdjustment>,
#[prost(message, optional, tag="18")]
pub bidding_strategy: ::core::option::Option<super::resources::BiddingStrategy>,
#[prost(message, optional, tag="158")]
pub bidding_strategy_simulation: ::core::option::Option<super::resources::BiddingStrategySimulation>,
#[prost(message, optional, tag="41")]
pub billing_setup: ::core::option::Option<super::resources::BillingSetup>,
#[prost(message, optional, tag="152")]
pub call_view: ::core::option::Option<super::resources::CallView>,
#[prost(message, optional, tag="19")]
pub campaign_budget: ::core::option::Option<super::resources::CampaignBudget>,
#[prost(message, optional, tag="2")]
pub campaign: ::core::option::Option<super::resources::Campaign>,
#[prost(message, optional, tag="142")]
pub campaign_asset: ::core::option::Option<super::resources::CampaignAsset>,
#[prost(message, optional, tag="181")]
pub campaign_asset_set: ::core::option::Option<super::resources::CampaignAssetSet>,
#[prost(message, optional, tag="69")]
pub campaign_audience_view: ::core::option::Option<super::resources::CampaignAudienceView>,
#[prost(message, optional, tag="26")]
pub campaign_bid_modifier: ::core::option::Option<super::resources::CampaignBidModifier>,
#[prost(message, optional, tag="175")]
pub campaign_conversion_goal: ::core::option::Option<super::resources::CampaignConversionGoal>,
#[prost(message, optional, tag="20")]
pub campaign_criterion: ::core::option::Option<super::resources::CampaignCriterion>,
#[prost(message, optional, tag="111")]
pub campaign_criterion_simulation: ::core::option::Option<super::resources::CampaignCriterionSimulation>,
#[prost(message, optional, tag="186")]
pub campaign_customizer: ::core::option::Option<super::resources::CampaignCustomizer>,
#[prost(message, optional, tag="49")]
pub campaign_draft: ::core::option::Option<super::resources::CampaignDraft>,
#[prost(message, optional, tag="84")]
pub campaign_experiment: ::core::option::Option<super::resources::CampaignExperiment>,
#[prost(message, optional, tag="113")]
pub campaign_extension_setting: ::core::option::Option<super::resources::CampaignExtensionSetting>,
#[prost(message, optional, tag="63")]
pub campaign_feed: ::core::option::Option<super::resources::CampaignFeed>,
#[prost(message, optional, tag="25")]
pub campaign_group: ::core::option::Option<super::resources::CampaignGroup>,
#[prost(message, optional, tag="108")]
pub campaign_label: ::core::option::Option<super::resources::CampaignLabel>,
#[prost(message, optional, tag="30")]
pub campaign_shared_set: ::core::option::Option<super::resources::CampaignSharedSet>,
#[prost(message, optional, tag="157")]
pub campaign_simulation: ::core::option::Option<super::resources::CampaignSimulation>,
#[prost(message, optional, tag="66")]
pub carrier_constant: ::core::option::Option<super::resources::CarrierConstant>,
#[prost(message, optional, tag="145")]
pub change_event: ::core::option::Option<super::resources::ChangeEvent>,
#[prost(message, optional, tag="37")]
pub change_status: ::core::option::Option<super::resources::ChangeStatus>,
#[prost(message, optional, tag="148")]
pub combined_audience: ::core::option::Option<super::resources::CombinedAudience>,
#[prost(message, optional, tag="190")]
pub audience: ::core::option::Option<super::resources::Audience>,
#[prost(message, optional, tag="103")]
pub conversion_action: ::core::option::Option<super::resources::ConversionAction>,
#[prost(message, optional, tag="153")]
pub conversion_custom_variable: ::core::option::Option<super::resources::ConversionCustomVariable>,
#[prost(message, optional, tag="177")]
pub conversion_goal_campaign_config: ::core::option::Option<super::resources::ConversionGoalCampaignConfig>,
#[prost(message, optional, tag="164")]
pub conversion_value_rule: ::core::option::Option<super::resources::ConversionValueRule>,
#[prost(message, optional, tag="165")]
pub conversion_value_rule_set: ::core::option::Option<super::resources::ConversionValueRuleSet>,
#[prost(message, optional, tag="122")]
pub click_view: ::core::option::Option<super::resources::ClickView>,
#[prost(message, optional, tag="134")]
pub currency_constant: ::core::option::Option<super::resources::CurrencyConstant>,
#[prost(message, optional, tag="147")]
pub custom_audience: ::core::option::Option<super::resources::CustomAudience>,
#[prost(message, optional, tag="176")]
pub custom_conversion_goal: ::core::option::Option<super::resources::CustomConversionGoal>,
#[prost(message, optional, tag="104")]
pub custom_interest: ::core::option::Option<super::resources::CustomInterest>,
#[prost(message, optional, tag="1")]
pub customer: ::core::option::Option<super::resources::Customer>,
#[prost(message, optional, tag="155")]
pub customer_asset: ::core::option::Option<super::resources::CustomerAsset>,
#[prost(message, optional, tag="169")]
pub accessible_bidding_strategy: ::core::option::Option<super::resources::AccessibleBiddingStrategy>,
#[prost(message, optional, tag="184")]
pub customer_customizer: ::core::option::Option<super::resources::CustomerCustomizer>,
#[prost(message, optional, tag="61")]
pub customer_manager_link: ::core::option::Option<super::resources::CustomerManagerLink>,
#[prost(message, optional, tag="62")]
pub customer_client_link: ::core::option::Option<super::resources::CustomerClientLink>,
#[prost(message, optional, tag="70")]
pub customer_client: ::core::option::Option<super::resources::CustomerClient>,
#[prost(message, optional, tag="174")]
pub customer_conversion_goal: ::core::option::Option<super::resources::CustomerConversionGoal>,
#[prost(message, optional, tag="114")]
pub customer_extension_setting: ::core::option::Option<super::resources::CustomerExtensionSetting>,
#[prost(message, optional, tag="64")]
pub customer_feed: ::core::option::Option<super::resources::CustomerFeed>,
#[prost(message, optional, tag="124")]
pub customer_label: ::core::option::Option<super::resources::CustomerLabel>,
#[prost(message, optional, tag="88")]
pub customer_negative_criterion: ::core::option::Option<super::resources::CustomerNegativeCriterion>,
#[prost(message, optional, tag="146")]
pub customer_user_access: ::core::option::Option<super::resources::CustomerUserAccess>,
#[prost(message, optional, tag="150")]
pub customer_user_access_invitation: ::core::option::Option<super::resources::CustomerUserAccessInvitation>,
#[prost(message, optional, tag="178")]
pub customizer_attribute: ::core::option::Option<super::resources::CustomizerAttribute>,
#[prost(message, optional, tag="118")]
pub detail_placement_view: ::core::option::Option<super::resources::DetailPlacementView>,
#[prost(message, optional, tag="166")]
pub detailed_demographic: ::core::option::Option<super::resources::DetailedDemographic>,
#[prost(message, optional, tag="47")]
pub display_keyword_view: ::core::option::Option<super::resources::DisplayKeywordView>,
#[prost(message, optional, tag="132")]
pub distance_view: ::core::option::Option<super::resources::DistanceView>,
#[prost(message, optional, tag="106")]
pub dynamic_search_ads_search_term_view: ::core::option::Option<super::resources::DynamicSearchAdsSearchTermView>,
#[prost(message, optional, tag="128")]
pub expanded_landing_page_view: ::core::option::Option<super::resources::ExpandedLandingPageView>,
#[prost(message, optional, tag="85")]
pub extension_feed_item: ::core::option::Option<super::resources::ExtensionFeedItem>,
#[prost(message, optional, tag="46")]
pub feed: ::core::option::Option<super::resources::Feed>,
#[prost(message, optional, tag="50")]
pub feed_item: ::core::option::Option<super::resources::FeedItem>,
#[prost(message, optional, tag="149")]
pub feed_item_set: ::core::option::Option<super::resources::FeedItemSet>,
#[prost(message, optional, tag="151")]
pub feed_item_set_link: ::core::option::Option<super::resources::FeedItemSetLink>,
#[prost(message, optional, tag="116")]
pub feed_item_target: ::core::option::Option<super::resources::FeedItemTarget>,
#[prost(message, optional, tag="58")]
pub feed_mapping: ::core::option::Option<super::resources::FeedMapping>,
#[prost(message, optional, tag="97")]
pub feed_placeholder_view: ::core::option::Option<super::resources::FeedPlaceholderView>,
#[prost(message, optional, tag="40")]
pub gender_view: ::core::option::Option<super::resources::GenderView>,
#[prost(message, optional, tag="23")]
pub geo_target_constant: ::core::option::Option<super::resources::GeoTargetConstant>,
#[prost(message, optional, tag="125")]
pub geographic_view: ::core::option::Option<super::resources::GeographicView>,
#[prost(message, optional, tag="119")]
pub group_placement_view: ::core::option::Option<super::resources::GroupPlacementView>,
#[prost(message, optional, tag="51")]
pub hotel_group_view: ::core::option::Option<super::resources::HotelGroupView>,
#[prost(message, optional, tag="71")]
pub hotel_performance_view: ::core::option::Option<super::resources::HotelPerformanceView>,
#[prost(message, optional, tag="188")]
pub hotel_reconciliation: ::core::option::Option<super::resources::HotelReconciliation>,
#[prost(message, optional, tag="138")]
pub income_range_view: ::core::option::Option<super::resources::IncomeRangeView>,
#[prost(message, optional, tag="21")]
pub keyword_view: ::core::option::Option<super::resources::KeywordView>,
#[prost(message, optional, tag="32")]
pub keyword_plan: ::core::option::Option<super::resources::KeywordPlan>,
#[prost(message, optional, tag="33")]
pub keyword_plan_campaign: ::core::option::Option<super::resources::KeywordPlanCampaign>,
#[prost(message, optional, tag="140")]
pub keyword_plan_campaign_keyword: ::core::option::Option<super::resources::KeywordPlanCampaignKeyword>,
#[prost(message, optional, tag="35")]
pub keyword_plan_ad_group: ::core::option::Option<super::resources::KeywordPlanAdGroup>,
#[prost(message, optional, tag="141")]
pub keyword_plan_ad_group_keyword: ::core::option::Option<super::resources::KeywordPlanAdGroupKeyword>,
#[prost(message, optional, tag="163")]
pub keyword_theme_constant: ::core::option::Option<super::resources::KeywordThemeConstant>,
#[prost(message, optional, tag="52")]
pub label: ::core::option::Option<super::resources::Label>,
#[prost(message, optional, tag="126")]
pub landing_page_view: ::core::option::Option<super::resources::LandingPageView>,
#[prost(message, optional, tag="55")]
pub language_constant: ::core::option::Option<super::resources::LanguageConstant>,
#[prost(message, optional, tag="123")]
pub location_view: ::core::option::Option<super::resources::LocationView>,
#[prost(message, optional, tag="53")]
pub managed_placement_view: ::core::option::Option<super::resources::ManagedPlacementView>,
#[prost(message, optional, tag="90")]
pub media_file: ::core::option::Option<super::resources::MediaFile>,
#[prost(message, optional, tag="87")]
pub mobile_app_category_constant: ::core::option::Option<super::resources::MobileAppCategoryConstant>,
#[prost(message, optional, tag="98")]
pub mobile_device_constant: ::core::option::Option<super::resources::MobileDeviceConstant>,
#[prost(message, optional, tag="137")]
pub offline_user_data_job: ::core::option::Option<super::resources::OfflineUserDataJob>,
#[prost(message, optional, tag="86")]
pub operating_system_version_constant: ::core::option::Option<super::resources::OperatingSystemVersionConstant>,
#[prost(message, optional, tag="129")]
pub paid_organic_search_term_view: ::core::option::Option<super::resources::PaidOrganicSearchTermView>,
#[prost(message, optional, tag="45")]
pub parental_status_view: ::core::option::Option<super::resources::ParentalStatusView>,
#[prost(message, optional, tag="109")]
pub product_bidding_category_constant: ::core::option::Option<super::resources::ProductBiddingCategoryConstant>,
#[prost(message, optional, tag="54")]
pub product_group_view: ::core::option::Option<super::resources::ProductGroupView>,
#[prost(message, optional, tag="22")]
pub recommendation: ::core::option::Option<super::resources::Recommendation>,
#[prost(message, optional, tag="68")]
pub search_term_view: ::core::option::Option<super::resources::SearchTermView>,
#[prost(message, optional, tag="29")]
pub shared_criterion: ::core::option::Option<super::resources::SharedCriterion>,
#[prost(message, optional, tag="27")]
pub shared_set: ::core::option::Option<super::resources::SharedSet>,
#[prost(message, optional, tag="167")]
pub smart_campaign_setting: ::core::option::Option<super::resources::SmartCampaignSetting>,
#[prost(message, optional, tag="117")]
pub shopping_performance_view: ::core::option::Option<super::resources::ShoppingPerformanceView>,
#[prost(message, optional, tag="170")]
pub smart_campaign_search_term_view: ::core::option::Option<super::resources::SmartCampaignSearchTermView>,
#[prost(message, optional, tag="144")]
pub third_party_app_analytics_link: ::core::option::Option<super::resources::ThirdPartyAppAnalyticsLink>,
#[prost(message, optional, tag="44")]
pub topic_view: ::core::option::Option<super::resources::TopicView>,
#[prost(message, optional, tag="133")]
pub experiment: ::core::option::Option<super::resources::Experiment>,
#[prost(message, optional, tag="183")]
pub experiment_arm: ::core::option::Option<super::resources::ExperimentArm>,
#[prost(message, optional, tag="59")]
pub user_interest: ::core::option::Option<super::resources::UserInterest>,
#[prost(message, optional, tag="161")]
pub life_event: ::core::option::Option<super::resources::LifeEvent>,
#[prost(message, optional, tag="38")]
pub user_list: ::core::option::Option<super::resources::UserList>,
#[prost(message, optional, tag="135")]
pub user_location_view: ::core::option::Option<super::resources::UserLocationView>,
#[prost(message, optional, tag="60")]
pub remarketing_action: ::core::option::Option<super::resources::RemarketingAction>,
#[prost(message, optional, tag="31")]
pub topic_constant: ::core::option::Option<super::resources::TopicConstant>,
#[prost(message, optional, tag="39")]
pub video: ::core::option::Option<super::resources::Video>,
#[prost(message, optional, tag="162")]
pub webpage_view: ::core::option::Option<super::resources::WebpageView>,
#[prost(message, optional, tag="192")]
pub lead_form_submission_data: ::core::option::Option<super::resources::LeadFormSubmissionData>,
#[prost(message, optional, tag="4")]
pub metrics: ::core::option::Option<super::common::Metrics>,
#[prost(message, optional, tag="102")]
pub segments: ::core::option::Option<super::common::Segments>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateGoogleAdsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub mutate_operations: ::prost::alloc::vec::Vec<MutateOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="5")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateGoogleAdsResponse {
#[prost(message, optional, tag="3")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="1")]
pub mutate_operation_responses: ::prost::alloc::vec::Vec<MutateOperationResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateOperation {
#[prost(oneof="mutate_operation::Operation", tags="17, 1, 56, 2, 77, 18, 3, 75, 19, 20, 21, 5, 49, 22, 23, 65, 78, 80, 62, 71, 72, 81, 58, 59, 6, 52, 73, 7, 8, 67, 13, 76, 24, 25, 26, 27, 9, 28, 10, 11, 12, 55, 69, 63, 64, 68, 57, 66, 79, 30, 31, 32, 34, 35, 70, 82, 83, 36, 37, 53, 54, 38, 39, 40, 44, 50, 51, 45, 48, 41, 42, 43, 14, 15, 61, 16")]
pub operation: ::core::option::Option<mutate_operation::Operation>,
}
pub mod mutate_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="17")]
AdGroupAdLabelOperation(super::AdGroupAdLabelOperation),
#[prost(message, tag="1")]
AdGroupAdOperation(super::AdGroupAdOperation),
#[prost(message, tag="56")]
AdGroupAssetOperation(super::AdGroupAssetOperation),
#[prost(message, tag="2")]
AdGroupBidModifierOperation(super::AdGroupBidModifierOperation),
#[prost(message, tag="77")]
AdGroupCriterionCustomizerOperation(super::AdGroupCriterionCustomizerOperation),
#[prost(message, tag="18")]
AdGroupCriterionLabelOperation(super::AdGroupCriterionLabelOperation),
#[prost(message, tag="3")]
AdGroupCriterionOperation(super::AdGroupCriterionOperation),
#[prost(message, tag="75")]
AdGroupCustomizerOperation(super::AdGroupCustomizerOperation),
#[prost(message, tag="19")]
AdGroupExtensionSettingOperation(super::AdGroupExtensionSettingOperation),
#[prost(message, tag="20")]
AdGroupFeedOperation(super::AdGroupFeedOperation),
#[prost(message, tag="21")]
AdGroupLabelOperation(super::AdGroupLabelOperation),
#[prost(message, tag="5")]
AdGroupOperation(super::AdGroupOperation),
#[prost(message, tag="49")]
AdOperation(super::AdOperation),
#[prost(message, tag="22")]
AdParameterOperation(super::AdParameterOperation),
#[prost(message, tag="23")]
AssetOperation(super::AssetOperation),
#[prost(message, tag="65")]
AssetGroupAssetOperation(super::AssetGroupAssetOperation),
#[prost(message, tag="78")]
AssetGroupListingGroupFilterOperation(super::AssetGroupListingGroupFilterOperation),
#[prost(message, tag="80")]
AssetGroupSignalOperation(super::AssetGroupSignalOperation),
#[prost(message, tag="62")]
AssetGroupOperation(super::AssetGroupOperation),
#[prost(message, tag="71")]
AssetSetAssetOperation(super::AssetSetAssetOperation),
#[prost(message, tag="72")]
AssetSetOperation(super::AssetSetOperation),
#[prost(message, tag="81")]
AudienceOperation(super::AudienceOperation),
#[prost(message, tag="58")]
BiddingDataExclusionOperation(super::BiddingDataExclusionOperation),
#[prost(message, tag="59")]
BiddingSeasonalityAdjustmentOperation(super::BiddingSeasonalityAdjustmentOperation),
#[prost(message, tag="6")]
BiddingStrategyOperation(super::BiddingStrategyOperation),
#[prost(message, tag="52")]
CampaignAssetOperation(super::CampaignAssetOperation),
#[prost(message, tag="73")]
CampaignAssetSetOperation(super::CampaignAssetSetOperation),
#[prost(message, tag="7")]
CampaignBidModifierOperation(super::CampaignBidModifierOperation),
#[prost(message, tag="8")]
CampaignBudgetOperation(super::CampaignBudgetOperation),
#[prost(message, tag="67")]
CampaignConversionGoalOperation(super::CampaignConversionGoalOperation),
#[prost(message, tag="13")]
CampaignCriterionOperation(super::CampaignCriterionOperation),
#[prost(message, tag="76")]
CampaignCustomizerOperation(super::CampaignCustomizerOperation),
#[prost(message, tag="24")]
CampaignDraftOperation(super::CampaignDraftOperation),
#[prost(message, tag="25")]
CampaignExperimentOperation(super::CampaignExperimentOperation),
#[prost(message, tag="26")]
CampaignExtensionSettingOperation(super::CampaignExtensionSettingOperation),
#[prost(message, tag="27")]
CampaignFeedOperation(super::CampaignFeedOperation),
#[prost(message, tag="9")]
CampaignGroupOperation(super::CampaignGroupOperation),
#[prost(message, tag="28")]
CampaignLabelOperation(super::CampaignLabelOperation),
#[prost(message, tag="10")]
CampaignOperation(super::CampaignOperation),
#[prost(message, tag="11")]
CampaignSharedSetOperation(super::CampaignSharedSetOperation),
#[prost(message, tag="12")]
ConversionActionOperation(super::ConversionActionOperation),
#[prost(message, tag="55")]
ConversionCustomVariableOperation(super::ConversionCustomVariableOperation),
#[prost(message, tag="69")]
ConversionGoalCampaignConfigOperation(super::ConversionGoalCampaignConfigOperation),
#[prost(message, tag="63")]
ConversionValueRuleOperation(super::ConversionValueRuleOperation),
#[prost(message, tag="64")]
ConversionValueRuleSetOperation(super::ConversionValueRuleSetOperation),
#[prost(message, tag="68")]
CustomConversionGoalOperation(super::CustomConversionGoalOperation),
#[prost(message, tag="57")]
CustomerAssetOperation(super::CustomerAssetOperation),
#[prost(message, tag="66")]
CustomerConversionGoalOperation(super::CustomerConversionGoalOperation),
#[prost(message, tag="79")]
CustomerCustomizerOperation(super::CustomerCustomizerOperation),
#[prost(message, tag="30")]
CustomerExtensionSettingOperation(super::CustomerExtensionSettingOperation),
#[prost(message, tag="31")]
CustomerFeedOperation(super::CustomerFeedOperation),
#[prost(message, tag="32")]
CustomerLabelOperation(super::CustomerLabelOperation),
#[prost(message, tag="34")]
CustomerNegativeCriterionOperation(super::CustomerNegativeCriterionOperation),
#[prost(message, tag="35")]
CustomerOperation(super::CustomerOperation),
#[prost(message, tag="70")]
CustomizerAttributeOperation(super::CustomizerAttributeOperation),
#[prost(message, tag="82")]
ExperimentOperation(super::ExperimentOperation),
#[prost(message, tag="83")]
ExperimentArmOperation(super::ExperimentArmOperation),
#[prost(message, tag="36")]
ExtensionFeedItemOperation(super::ExtensionFeedItemOperation),
#[prost(message, tag="37")]
FeedItemOperation(super::FeedItemOperation),
#[prost(message, tag="53")]
FeedItemSetOperation(super::FeedItemSetOperation),
#[prost(message, tag="54")]
FeedItemSetLinkOperation(super::FeedItemSetLinkOperation),
#[prost(message, tag="38")]
FeedItemTargetOperation(super::FeedItemTargetOperation),
#[prost(message, tag="39")]
FeedMappingOperation(super::FeedMappingOperation),
#[prost(message, tag="40")]
FeedOperation(super::FeedOperation),
#[prost(message, tag="44")]
KeywordPlanAdGroupOperation(super::KeywordPlanAdGroupOperation),
#[prost(message, tag="50")]
KeywordPlanAdGroupKeywordOperation(super::KeywordPlanAdGroupKeywordOperation),
#[prost(message, tag="51")]
KeywordPlanCampaignKeywordOperation(super::KeywordPlanCampaignKeywordOperation),
#[prost(message, tag="45")]
KeywordPlanCampaignOperation(super::KeywordPlanCampaignOperation),
#[prost(message, tag="48")]
KeywordPlanOperation(super::KeywordPlanOperation),
#[prost(message, tag="41")]
LabelOperation(super::LabelOperation),
#[prost(message, tag="42")]
MediaFileOperation(super::MediaFileOperation),
#[prost(message, tag="43")]
RemarketingActionOperation(super::RemarketingActionOperation),
#[prost(message, tag="14")]
SharedCriterionOperation(super::SharedCriterionOperation),
#[prost(message, tag="15")]
SharedSetOperation(super::SharedSetOperation),
#[prost(message, tag="61")]
SmartCampaignSettingOperation(super::SmartCampaignSettingOperation),
#[prost(message, tag="16")]
UserListOperation(super::UserListOperation),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateOperationResponse {
#[prost(oneof="mutate_operation_response::Response", tags="17, 1, 56, 2, 77, 18, 3, 75, 19, 20, 21, 5, 22, 49, 23, 65, 78, 79, 62, 71, 72, 80, 58, 59, 6, 52, 73, 7, 8, 67, 13, 76, 24, 25, 26, 27, 9, 28, 10, 11, 12, 55, 69, 63, 64, 68, 57, 66, 74, 30, 31, 32, 34, 35, 70, 36, 37, 53, 54, 38, 39, 40, 44, 45, 50, 51, 48, 41, 42, 43, 14, 15, 61, 16")]
pub response: ::core::option::Option<mutate_operation_response::Response>,
}
pub mod mutate_operation_response {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Response {
#[prost(message, tag="17")]
AdGroupAdLabelResult(super::MutateAdGroupAdLabelResult),
#[prost(message, tag="1")]
AdGroupAdResult(super::MutateAdGroupAdResult),
#[prost(message, tag="56")]
AdGroupAssetResult(super::MutateAdGroupAssetResult),
#[prost(message, tag="2")]
AdGroupBidModifierResult(super::MutateAdGroupBidModifierResult),
#[prost(message, tag="77")]
AdGroupCriterionCustomizerResult(super::MutateAdGroupCriterionCustomizerResult),
#[prost(message, tag="18")]
AdGroupCriterionLabelResult(super::MutateAdGroupCriterionLabelResult),
#[prost(message, tag="3")]
AdGroupCriterionResult(super::MutateAdGroupCriterionResult),
#[prost(message, tag="75")]
AdGroupCustomizerResult(super::MutateAdGroupCustomizerResult),
#[prost(message, tag="19")]
AdGroupExtensionSettingResult(super::MutateAdGroupExtensionSettingResult),
#[prost(message, tag="20")]
AdGroupFeedResult(super::MutateAdGroupFeedResult),
#[prost(message, tag="21")]
AdGroupLabelResult(super::MutateAdGroupLabelResult),
#[prost(message, tag="5")]
AdGroupResult(super::MutateAdGroupResult),
#[prost(message, tag="22")]
AdParameterResult(super::MutateAdParameterResult),
#[prost(message, tag="49")]
AdResult(super::MutateAdResult),
#[prost(message, tag="23")]
AssetResult(super::MutateAssetResult),
#[prost(message, tag="65")]
AssetGroupAssetResult(super::MutateAssetGroupAssetResult),
#[prost(message, tag="78")]
AssetGroupListingGroupFilterResult(super::MutateAssetGroupListingGroupFilterResult),
#[prost(message, tag="79")]
AssetGroupSignalResult(super::MutateAssetGroupSignalResult),
#[prost(message, tag="62")]
AssetGroupResult(super::MutateAssetGroupResult),
#[prost(message, tag="71")]
AssetSetAssetResult(super::MutateAssetSetAssetResult),
#[prost(message, tag="72")]
AssetSetResult(super::MutateAssetSetResult),
#[prost(message, tag="80")]
AudienceResult(super::MutateAudienceResult),
#[prost(message, tag="58")]
BiddingDataExclusionResult(super::MutateBiddingDataExclusionsResult),
#[prost(message, tag="59")]
BiddingSeasonalityAdjustmentResult(super::MutateBiddingSeasonalityAdjustmentsResult),
#[prost(message, tag="6")]
BiddingStrategyResult(super::MutateBiddingStrategyResult),
#[prost(message, tag="52")]
CampaignAssetResult(super::MutateCampaignAssetResult),
#[prost(message, tag="73")]
CampaignAssetSetResult(super::MutateCampaignAssetSetResult),
#[prost(message, tag="7")]
CampaignBidModifierResult(super::MutateCampaignBidModifierResult),
#[prost(message, tag="8")]
CampaignBudgetResult(super::MutateCampaignBudgetResult),
#[prost(message, tag="67")]
CampaignConversionGoalResult(super::MutateCampaignConversionGoalResult),
#[prost(message, tag="13")]
CampaignCriterionResult(super::MutateCampaignCriterionResult),
#[prost(message, tag="76")]
CampaignCustomizerResult(super::MutateCampaignCustomizerResult),
#[prost(message, tag="24")]
CampaignDraftResult(super::MutateCampaignDraftResult),
#[prost(message, tag="25")]
CampaignExperimentResult(super::MutateCampaignExperimentResult),
#[prost(message, tag="26")]
CampaignExtensionSettingResult(super::MutateCampaignExtensionSettingResult),
#[prost(message, tag="27")]
CampaignFeedResult(super::MutateCampaignFeedResult),
#[prost(message, tag="9")]
CampaignGroupResult(super::MutateCampaignGroupResult),
#[prost(message, tag="28")]
CampaignLabelResult(super::MutateCampaignLabelResult),
#[prost(message, tag="10")]
CampaignResult(super::MutateCampaignResult),
#[prost(message, tag="11")]
CampaignSharedSetResult(super::MutateCampaignSharedSetResult),
#[prost(message, tag="12")]
ConversionActionResult(super::MutateConversionActionResult),
#[prost(message, tag="55")]
ConversionCustomVariableResult(super::MutateConversionCustomVariableResult),
#[prost(message, tag="69")]
ConversionGoalCampaignConfigResult(super::MutateConversionGoalCampaignConfigResult),
#[prost(message, tag="63")]
ConversionValueRuleResult(super::MutateConversionValueRuleResult),
#[prost(message, tag="64")]
ConversionValueRuleSetResult(super::MutateConversionValueRuleSetResult),
#[prost(message, tag="68")]
CustomConversionGoalResult(super::MutateCustomConversionGoalResult),
#[prost(message, tag="57")]
CustomerAssetResult(super::MutateCustomerAssetResult),
#[prost(message, tag="66")]
CustomerConversionGoalResult(super::MutateCustomerConversionGoalResult),
#[prost(message, tag="74")]
CustomerCustomizerResult(super::MutateCustomerCustomizerResult),
#[prost(message, tag="30")]
CustomerExtensionSettingResult(super::MutateCustomerExtensionSettingResult),
#[prost(message, tag="31")]
CustomerFeedResult(super::MutateCustomerFeedResult),
#[prost(message, tag="32")]
CustomerLabelResult(super::MutateCustomerLabelResult),
#[prost(message, tag="34")]
CustomerNegativeCriterionResult(super::MutateCustomerNegativeCriteriaResult),
#[prost(message, tag="35")]
CustomerResult(super::MutateCustomerResult),
#[prost(message, tag="70")]
CustomizerAttributeResult(super::MutateCustomizerAttributeResult),
#[prost(message, tag="36")]
ExtensionFeedItemResult(super::MutateExtensionFeedItemResult),
#[prost(message, tag="37")]
FeedItemResult(super::MutateFeedItemResult),
#[prost(message, tag="53")]
FeedItemSetResult(super::MutateFeedItemSetResult),
#[prost(message, tag="54")]
FeedItemSetLinkResult(super::MutateFeedItemSetLinkResult),
#[prost(message, tag="38")]
FeedItemTargetResult(super::MutateFeedItemTargetResult),
#[prost(message, tag="39")]
FeedMappingResult(super::MutateFeedMappingResult),
#[prost(message, tag="40")]
FeedResult(super::MutateFeedResult),
#[prost(message, tag="44")]
KeywordPlanAdGroupResult(super::MutateKeywordPlanAdGroupResult),
#[prost(message, tag="45")]
KeywordPlanCampaignResult(super::MutateKeywordPlanCampaignResult),
#[prost(message, tag="50")]
KeywordPlanAdGroupKeywordResult(super::MutateKeywordPlanAdGroupKeywordResult),
#[prost(message, tag="51")]
KeywordPlanCampaignKeywordResult(super::MutateKeywordPlanCampaignKeywordResult),
#[prost(message, tag="48")]
KeywordPlanResult(super::MutateKeywordPlansResult),
#[prost(message, tag="41")]
LabelResult(super::MutateLabelResult),
#[prost(message, tag="42")]
MediaFileResult(super::MutateMediaFileResult),
#[prost(message, tag="43")]
RemarketingActionResult(super::MutateRemarketingActionResult),
#[prost(message, tag="14")]
SharedCriterionResult(super::MutateSharedCriterionResult),
#[prost(message, tag="15")]
SharedSetResult(super::MutateSharedSetResult),
#[prost(message, tag="61")]
SmartCampaignSettingResult(super::MutateSmartCampaignSettingResult),
#[prost(message, tag="16")]
UserListResult(super::MutateUserListResult),
}
}
pub mod google_ads_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct GoogleAdsServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> GoogleAdsServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> GoogleAdsServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
GoogleAdsServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn search(
&mut self,
request: impl tonic::IntoRequest<super::SearchGoogleAdsRequest>,
) -> Result<tonic::Response<super::SearchGoogleAdsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GoogleAdsService/Search",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn search_stream(
&mut self,
request: impl tonic::IntoRequest<super::SearchGoogleAdsStreamRequest>,
) -> Result<
tonic::Response<
tonic::codec::Streaming<super::SearchGoogleAdsStreamResponse>,
>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GoogleAdsService/SearchStream",
);
self.inner.server_streaming(request.into_request(), path, codec).await
}
pub async fn mutate(
&mut self,
request: impl tonic::IntoRequest<super::MutateGoogleAdsRequest>,
) -> Result<tonic::Response<super::MutateGoogleAdsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GoogleAdsService/Mutate",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordIdeasRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="14")]
pub language: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="15")]
pub geo_target_constants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag="10")]
pub include_adult_keywords: bool,
#[prost(string, tag="12")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="13")]
pub page_size: i32,
#[prost(enumeration="super::enums::keyword_plan_network_enum::KeywordPlanNetwork", tag="9")]
pub keyword_plan_network: i32,
#[prost(enumeration="super::enums::keyword_plan_keyword_annotation_enum::KeywordPlanKeywordAnnotation", repeated, tag="17")]
pub keyword_annotation: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag="16")]
pub aggregate_metrics: ::core::option::Option<super::common::KeywordPlanAggregateMetrics>,
#[prost(message, optional, tag="18")]
pub historical_metrics_options: ::core::option::Option<super::common::HistoricalMetricsOptions>,
#[prost(oneof="generate_keyword_ideas_request::Seed", tags="2, 3, 5, 11")]
pub seed: ::core::option::Option<generate_keyword_ideas_request::Seed>,
}
pub mod generate_keyword_ideas_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Seed {
#[prost(message, tag="2")]
KeywordAndUrlSeed(super::KeywordAndUrlSeed),
#[prost(message, tag="3")]
KeywordSeed(super::KeywordSeed),
#[prost(message, tag="5")]
UrlSeed(super::UrlSeed),
#[prost(message, tag="11")]
SiteSeed(super::SiteSeed),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordAndUrlSeed {
#[prost(string, optional, tag="3")]
pub url: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="4")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordSeed {
#[prost(string, repeated, tag="2")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SiteSeed {
#[prost(string, optional, tag="2")]
pub site: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UrlSeed {
#[prost(string, optional, tag="2")]
pub url: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordIdeaResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<GenerateKeywordIdeaResult>,
#[prost(message, optional, tag="4")]
pub aggregate_metric_results: ::core::option::Option<super::common::KeywordPlanAggregateMetricResults>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
#[prost(int64, tag="3")]
pub total_size: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordIdeaResult {
#[prost(string, optional, tag="5")]
pub text: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="3")]
pub keyword_idea_metrics: ::core::option::Option<super::common::KeywordPlanHistoricalMetrics>,
#[prost(message, optional, tag="6")]
pub keyword_annotations: ::core::option::Option<super::common::KeywordAnnotations>,
#[prost(string, repeated, tag="7")]
pub close_variants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordHistoricalMetricsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag="2")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag="3")]
pub historical_metrics_options: ::core::option::Option<super::common::HistoricalMetricsOptions>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordHistoricalMetricsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<GenerateKeywordHistoricalMetricsResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateKeywordHistoricalMetricsResult {
#[prost(string, optional, tag="1")]
pub text: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="3")]
pub close_variants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub keyword_metrics: ::core::option::Option<super::common::KeywordPlanHistoricalMetrics>,
}
pub mod keyword_plan_idea_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordPlanIdeaServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordPlanIdeaServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordPlanIdeaServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordPlanIdeaServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn generate_keyword_ideas(
&mut self,
request: impl tonic::IntoRequest<super::GenerateKeywordIdeasRequest>,
) -> Result<tonic::Response<super::GenerateKeywordIdeaResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanIdeaService/GenerateKeywordIdeas",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_keyword_historical_metrics(
&mut self,
request: impl tonic::IntoRequest<
super::GenerateKeywordHistoricalMetricsRequest,
>,
) -> Result<
tonic::Response<super::GenerateKeywordHistoricalMetricsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordPlanIdeaService/GenerateKeywordHistoricalMetrics",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGoogleAdsFieldRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsFieldsRequest {
#[prost(string, tag="1")]
pub query: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub page_size: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchGoogleAdsFieldsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<super::resources::GoogleAdsField>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
#[prost(int64, tag="3")]
pub total_results_count: i64,
}
pub mod google_ads_field_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct GoogleAdsFieldServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> GoogleAdsFieldServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> GoogleAdsFieldServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
GoogleAdsFieldServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn get_google_ads_field(
&mut self,
request: impl tonic::IntoRequest<super::GetGoogleAdsFieldRequest>,
) -> Result<
tonic::Response<super::super::resources::GoogleAdsField>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GoogleAdsFieldService/GetGoogleAdsField",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn search_google_ads_fields(
&mut self,
request: impl tonic::IntoRequest<super::SearchGoogleAdsFieldsRequest>,
) -> Result<
tonic::Response<super::SearchGoogleAdsFieldsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GoogleAdsFieldService/SearchGoogleAdsFields",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessInvitationRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<CustomerUserAccessInvitationOperation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerUserAccessInvitationOperation {
#[prost(oneof="customer_user_access_invitation_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_user_access_invitation_operation::Operation>,
}
pub mod customer_user_access_invitation_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomerUserAccessInvitation),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessInvitationResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateCustomerUserAccessInvitationResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessInvitationResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_user_access_invitation_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerUserAccessInvitationServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerUserAccessInvitationServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerUserAccessInvitationServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerUserAccessInvitationServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_user_access_invitation(
&mut self,
request: impl tonic::IntoRequest<
super::MutateCustomerUserAccessInvitationRequest,
>,
) -> Result<
tonic::Response<super::MutateCustomerUserAccessInvitationResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerUserAccessInvitationService/MutateCustomerUserAccessInvitation",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadConversionAdjustmentsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub conversion_adjustments: ::prost::alloc::vec::Vec<ConversionAdjustment>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadConversionAdjustmentsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<ConversionAdjustmentResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionAdjustment {
#[prost(message, optional, tag="12")]
pub gclid_date_time_pair: ::core::option::Option<GclidDateTimePair>,
#[prost(string, optional, tag="13")]
pub order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub adjustment_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::enums::conversion_adjustment_type_enum::ConversionAdjustmentType", tag="5")]
pub adjustment_type: i32,
#[prost(message, optional, tag="6")]
pub restatement_value: ::core::option::Option<RestatementValue>,
#[prost(message, repeated, tag="10")]
pub user_identifiers: ::prost::alloc::vec::Vec<super::common::UserIdentifier>,
#[prost(string, optional, tag="11")]
pub user_agent: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestatementValue {
#[prost(double, optional, tag="3")]
pub adjusted_value: ::core::option::Option<f64>,
#[prost(string, optional, tag="4")]
pub currency_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GclidDateTimePair {
#[prost(string, optional, tag="3")]
pub gclid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub conversion_date_time: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionAdjustmentResult {
#[prost(message, optional, tag="9")]
pub gclid_date_time_pair: ::core::option::Option<GclidDateTimePair>,
#[prost(string, tag="10")]
pub order_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="7")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub adjustment_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::enums::conversion_adjustment_type_enum::ConversionAdjustmentType", tag="5")]
pub adjustment_type: i32,
}
pub mod conversion_adjustment_upload_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionAdjustmentUploadServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionAdjustmentUploadServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionAdjustmentUploadServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionAdjustmentUploadServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn upload_conversion_adjustments(
&mut self,
request: impl tonic::IntoRequest<super::UploadConversionAdjustmentsRequest>,
) -> Result<
tonic::Response<super::UploadConversionAdjustmentsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionAdjustmentUploadService/UploadConversionAdjustments",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBatchJobRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<BatchJobOperation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchJobOperation {
#[prost(oneof="batch_job_operation::Operation", tags="1, 4")]
pub operation: ::core::option::Option<batch_job_operation::Operation>,
}
pub mod batch_job_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::BatchJob),
#[prost(string, tag="4")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBatchJobResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateBatchJobResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBatchJobResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunBatchJobRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBatchJobOperationsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub sequence_token: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub mutate_operations: ::prost::alloc::vec::Vec<MutateOperation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBatchJobOperationsResponse {
#[prost(int64, tag="1")]
pub total_operations: i64,
#[prost(string, tag="2")]
pub next_sequence_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBatchJobResultsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub page_size: i32,
#[prost(enumeration="super::enums::response_content_type_enum::ResponseContentType", tag="4")]
pub response_content_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBatchJobResultsResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<BatchJobResult>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchJobResult {
#[prost(int64, tag="1")]
pub operation_index: i64,
#[prost(message, optional, tag="2")]
pub mutate_operation_response: ::core::option::Option<MutateOperationResponse>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<super::super::super::super::rpc::Status>,
}
pub mod batch_job_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct BatchJobServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> BatchJobServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> BatchJobServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
BatchJobServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_batch_job(
&mut self,
request: impl tonic::IntoRequest<super::MutateBatchJobRequest>,
) -> Result<tonic::Response<super::MutateBatchJobResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BatchJobService/MutateBatchJob",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_batch_job_results(
&mut self,
request: impl tonic::IntoRequest<super::ListBatchJobResultsRequest>,
) -> Result<tonic::Response<super::ListBatchJobResultsResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BatchJobService/ListBatchJobResults",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn run_batch_job(
&mut self,
request: impl tonic::IntoRequest<super::RunBatchJobRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BatchJobService/RunBatchJob",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn add_batch_job_operations(
&mut self,
request: impl tonic::IntoRequest<super::AddBatchJobOperationsRequest>,
) -> Result<
tonic::Response<super::AddBatchJobOperationsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BatchJobService/AddBatchJobOperations",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPlannableLocationsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPlannableLocationsResponse {
#[prost(message, repeated, tag="1")]
pub plannable_locations: ::prost::alloc::vec::Vec<PlannableLocation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannableLocation {
#[prost(string, optional, tag="4")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="6")]
pub parent_country_id: ::core::option::Option<i64>,
#[prost(string, optional, tag="7")]
pub country_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub location_type: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPlannableProductsRequest {
#[prost(string, tag="2")]
pub plannable_location_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPlannableProductsResponse {
#[prost(message, repeated, tag="1")]
pub product_metadata: ::prost::alloc::vec::Vec<ProductMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProductMetadata {
#[prost(string, optional, tag="4")]
pub plannable_product_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="3")]
pub plannable_product_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub plannable_targeting: ::core::option::Option<PlannableTargeting>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannableTargeting {
#[prost(enumeration="super::enums::reach_plan_age_range_enum::ReachPlanAgeRange", repeated, tag="1")]
pub age_ranges: ::prost::alloc::vec::Vec<i32>,
#[prost(message, repeated, tag="2")]
pub genders: ::prost::alloc::vec::Vec<super::common::GenderInfo>,
#[prost(message, repeated, tag="3")]
pub devices: ::prost::alloc::vec::Vec<super::common::DeviceInfo>,
#[prost(enumeration="super::enums::reach_plan_network_enum::ReachPlanNetwork", repeated, tag="4")]
pub networks: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateProductMixIdeasRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub plannable_location_id: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub currency_code: ::prost::alloc::string::String,
#[prost(int64, tag="8")]
pub budget_micros: i64,
#[prost(message, optional, tag="5")]
pub preferences: ::core::option::Option<Preferences>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Preferences {
#[prost(bool, optional, tag="6")]
pub is_skippable: ::core::option::Option<bool>,
#[prost(bool, optional, tag="7")]
pub starts_with_sound: ::core::option::Option<bool>,
#[prost(enumeration="super::enums::reach_plan_ad_length_enum::ReachPlanAdLength", tag="3")]
pub ad_length: i32,
#[prost(bool, optional, tag="8")]
pub top_content_only: ::core::option::Option<bool>,
#[prost(bool, optional, tag="9")]
pub has_guaranteed_price: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateProductMixIdeasResponse {
#[prost(message, repeated, tag="1")]
pub product_allocation: ::prost::alloc::vec::Vec<ProductAllocation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProductAllocation {
#[prost(string, optional, tag="3")]
pub plannable_product_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="4")]
pub budget_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateReachForecastRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="9")]
pub currency_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="3")]
pub campaign_duration: ::core::option::Option<CampaignDuration>,
#[prost(int32, optional, tag="10")]
pub cookie_frequency_cap: ::core::option::Option<i32>,
#[prost(message, optional, tag="8")]
pub cookie_frequency_cap_setting: ::core::option::Option<FrequencyCap>,
#[prost(int32, optional, tag="11")]
pub min_effective_frequency: ::core::option::Option<i32>,
#[prost(message, optional, tag="12")]
pub effective_frequency_limit: ::core::option::Option<EffectiveFrequencyLimit>,
#[prost(message, optional, tag="6")]
pub targeting: ::core::option::Option<Targeting>,
#[prost(message, repeated, tag="7")]
pub planned_products: ::prost::alloc::vec::Vec<PlannedProduct>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EffectiveFrequencyLimit {
#[prost(int32, tag="1")]
pub effective_frequency_breakdown_limit: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencyCap {
#[prost(int32, tag="3")]
pub impressions: i32,
#[prost(enumeration="super::enums::frequency_cap_time_unit_enum::FrequencyCapTimeUnit", tag="2")]
pub time_unit: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Targeting {
#[prost(string, optional, tag="6")]
pub plannable_location_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::enums::reach_plan_age_range_enum::ReachPlanAgeRange", tag="2")]
pub age_range: i32,
#[prost(message, repeated, tag="3")]
pub genders: ::prost::alloc::vec::Vec<super::common::GenderInfo>,
#[prost(message, repeated, tag="4")]
pub devices: ::prost::alloc::vec::Vec<super::common::DeviceInfo>,
#[prost(enumeration="super::enums::reach_plan_network_enum::ReachPlanNetwork", tag="5")]
pub network: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignDuration {
#[prost(int32, optional, tag="2")]
pub duration_in_days: ::core::option::Option<i32>,
#[prost(message, optional, tag="3")]
pub date_range: ::core::option::Option<super::common::DateRange>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannedProduct {
#[prost(string, optional, tag="3")]
pub plannable_product_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="4")]
pub budget_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateReachForecastResponse {
#[prost(message, optional, tag="1")]
pub on_target_audience_metrics: ::core::option::Option<OnTargetAudienceMetrics>,
#[prost(message, optional, tag="2")]
pub reach_curve: ::core::option::Option<ReachCurve>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReachCurve {
#[prost(message, repeated, tag="1")]
pub reach_forecasts: ::prost::alloc::vec::Vec<ReachForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReachForecast {
#[prost(int64, tag="5")]
pub cost_micros: i64,
#[prost(message, optional, tag="2")]
pub forecast: ::core::option::Option<Forecast>,
#[prost(message, repeated, tag="4")]
pub planned_product_reach_forecasts: ::prost::alloc::vec::Vec<PlannedProductReachForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Forecast {
#[prost(int64, optional, tag="5")]
pub on_target_reach: ::core::option::Option<i64>,
#[prost(int64, optional, tag="6")]
pub total_reach: ::core::option::Option<i64>,
#[prost(int64, optional, tag="7")]
pub on_target_impressions: ::core::option::Option<i64>,
#[prost(int64, optional, tag="8")]
pub total_impressions: ::core::option::Option<i64>,
#[prost(int64, optional, tag="9")]
pub viewable_impressions: ::core::option::Option<i64>,
#[prost(message, repeated, tag="10")]
pub effective_frequency_breakdowns: ::prost::alloc::vec::Vec<EffectiveFrequencyBreakdown>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannedProductReachForecast {
#[prost(string, tag="1")]
pub plannable_product_code: ::prost::alloc::string::String,
#[prost(int64, tag="2")]
pub cost_micros: i64,
#[prost(message, optional, tag="3")]
pub planned_product_forecast: ::core::option::Option<PlannedProductForecast>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlannedProductForecast {
#[prost(int64, tag="1")]
pub on_target_reach: i64,
#[prost(int64, tag="2")]
pub total_reach: i64,
#[prost(int64, tag="3")]
pub on_target_impressions: i64,
#[prost(int64, tag="4")]
pub total_impressions: i64,
#[prost(int64, optional, tag="5")]
pub viewable_impressions: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnTargetAudienceMetrics {
#[prost(int64, optional, tag="3")]
pub youtube_audience_size: ::core::option::Option<i64>,
#[prost(int64, optional, tag="4")]
pub census_audience_size: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EffectiveFrequencyBreakdown {
#[prost(int32, tag="1")]
pub effective_frequency: i32,
#[prost(int64, tag="2")]
pub on_target_reach: i64,
#[prost(int64, tag="3")]
pub total_reach: i64,
}
pub mod reach_plan_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ReachPlanServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ReachPlanServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ReachPlanServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ReachPlanServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn list_plannable_locations(
&mut self,
request: impl tonic::IntoRequest<super::ListPlannableLocationsRequest>,
) -> Result<
tonic::Response<super::ListPlannableLocationsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ReachPlanService/ListPlannableLocations",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn list_plannable_products(
&mut self,
request: impl tonic::IntoRequest<super::ListPlannableProductsRequest>,
) -> Result<
tonic::Response<super::ListPlannableProductsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ReachPlanService/ListPlannableProducts",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_product_mix_ideas(
&mut self,
request: impl tonic::IntoRequest<super::GenerateProductMixIdeasRequest>,
) -> Result<
tonic::Response<super::GenerateProductMixIdeasResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ReachPlanService/GenerateProductMixIdeas",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn generate_reach_forecast(
&mut self,
request: impl tonic::IntoRequest<super::GenerateReachForecastRequest>,
) -> Result<
tonic::Response<super::GenerateReachForecastResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ReachPlanService/GenerateReachForecast",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<CustomerUserAccessOperation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerUserAccessOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_user_access_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<customer_user_access_operation::Operation>,
}
pub mod customer_user_access_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::CustomerUserAccess),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateCustomerUserAccessResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerUserAccessResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_user_access_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerUserAccessServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerUserAccessServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerUserAccessServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerUserAccessServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_user_access(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerUserAccessRequest>,
) -> Result<
tonic::Response<super::MutateCustomerUserAccessResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerUserAccessService/MutateCustomerUserAccess",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateOfflineUserDataJobRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub job: ::core::option::Option<super::resources::OfflineUserDataJob>,
#[prost(bool, tag="3")]
pub validate_only: bool,
#[prost(bool, tag="5")]
pub enable_match_rate_range_preview: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateOfflineUserDataJobResponse {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunOfflineUserDataJobRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddOfflineUserDataJobOperationsRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(bool, optional, tag="4")]
pub enable_partial_failure: ::core::option::Option<bool>,
#[prost(bool, optional, tag="6")]
pub enable_warnings: ::core::option::Option<bool>,
#[prost(message, repeated, tag="3")]
pub operations: ::prost::alloc::vec::Vec<OfflineUserDataJobOperation>,
#[prost(bool, tag="5")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OfflineUserDataJobOperation {
#[prost(oneof="offline_user_data_job_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<offline_user_data_job_operation::Operation>,
}
pub mod offline_user_data_job_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::common::UserData),
#[prost(message, tag="2")]
Remove(super::super::common::UserData),
#[prost(bool, tag="3")]
RemoveAll(bool),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddOfflineUserDataJobOperationsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, optional, tag="2")]
pub warning: ::core::option::Option<super::super::super::super::rpc::Status>,
}
pub mod offline_user_data_job_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct OfflineUserDataJobServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> OfflineUserDataJobServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> OfflineUserDataJobServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
OfflineUserDataJobServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn create_offline_user_data_job(
&mut self,
request: impl tonic::IntoRequest<super::CreateOfflineUserDataJobRequest>,
) -> Result<
tonic::Response<super::CreateOfflineUserDataJobResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.OfflineUserDataJobService/CreateOfflineUserDataJob",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn add_offline_user_data_job_operations(
&mut self,
request: impl tonic::IntoRequest<
super::AddOfflineUserDataJobOperationsRequest,
>,
) -> Result<
tonic::Response<super::AddOfflineUserDataJobOperationsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.OfflineUserDataJobService/AddOfflineUserDataJobOperations",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn run_offline_user_data_job(
&mut self,
request: impl tonic::IntoRequest<super::RunOfflineUserDataJobRequest>,
) -> Result<
tonic::Response<super::super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.OfflineUserDataJobService/RunOfflineUserDataJob",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestSmartCampaignBudgetOptionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(oneof="suggest_smart_campaign_budget_options_request::SuggestionData", tags="2, 3")]
pub suggestion_data: ::core::option::Option<suggest_smart_campaign_budget_options_request::SuggestionData>,
}
pub mod suggest_smart_campaign_budget_options_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum SuggestionData {
#[prost(string, tag="2")]
Campaign(::prost::alloc::string::String),
#[prost(message, tag="3")]
SuggestionInfo(super::SmartCampaignSuggestionInfo),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmartCampaignSuggestionInfo {
#[prost(string, tag="1")]
pub final_url: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub language_code: ::prost::alloc::string::String,
#[prost(message, repeated, tag="6")]
pub ad_schedules: ::prost::alloc::vec::Vec<super::common::AdScheduleInfo>,
#[prost(message, repeated, tag="7")]
pub keyword_themes: ::prost::alloc::vec::Vec<super::common::KeywordThemeInfo>,
#[prost(oneof="smart_campaign_suggestion_info::BusinessSetting", tags="8, 2")]
pub business_setting: ::core::option::Option<smart_campaign_suggestion_info::BusinessSetting>,
#[prost(oneof="smart_campaign_suggestion_info::GeoTarget", tags="4, 5")]
pub geo_target: ::core::option::Option<smart_campaign_suggestion_info::GeoTarget>,
}
pub mod smart_campaign_suggestion_info {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LocationList {
#[prost(message, repeated, tag="1")]
pub locations: ::prost::alloc::vec::Vec<super::super::common::LocationInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BusinessContext {
#[prost(string, tag="1")]
pub business_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum BusinessSetting {
#[prost(message, tag="8")]
BusinessContext(BusinessContext),
#[prost(int64, tag="2")]
BusinessLocationId(i64),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum GeoTarget {
#[prost(message, tag="4")]
LocationList(LocationList),
#[prost(message, tag="5")]
Proximity(super::super::common::ProximityInfo),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestSmartCampaignBudgetOptionsResponse {
#[prost(message, optional, tag="1")]
pub low: ::core::option::Option<suggest_smart_campaign_budget_options_response::BudgetOption>,
#[prost(message, optional, tag="2")]
pub recommended: ::core::option::Option<suggest_smart_campaign_budget_options_response::BudgetOption>,
#[prost(message, optional, tag="3")]
pub high: ::core::option::Option<suggest_smart_campaign_budget_options_response::BudgetOption>,
}
pub mod suggest_smart_campaign_budget_options_response {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metrics {
#[prost(int64, tag="1")]
pub min_daily_clicks: i64,
#[prost(int64, tag="2")]
pub max_daily_clicks: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BudgetOption {
#[prost(int64, tag="1")]
pub daily_amount_micros: i64,
#[prost(message, optional, tag="2")]
pub metrics: ::core::option::Option<Metrics>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestSmartCampaignAdRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub suggestion_info: ::core::option::Option<SmartCampaignSuggestionInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestSmartCampaignAdResponse {
#[prost(message, optional, tag="1")]
pub ad_info: ::core::option::Option<super::common::SmartCampaignAdInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestKeywordThemesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub suggestion_info: ::core::option::Option<SmartCampaignSuggestionInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestKeywordThemesResponse {
#[prost(message, repeated, tag="1")]
pub keyword_themes: ::prost::alloc::vec::Vec<super::resources::KeywordThemeConstant>,
}
pub mod smart_campaign_suggest_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct SmartCampaignSuggestServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> SmartCampaignSuggestServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> SmartCampaignSuggestServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
SmartCampaignSuggestServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn suggest_smart_campaign_budget_options(
&mut self,
request: impl tonic::IntoRequest<
super::SuggestSmartCampaignBudgetOptionsRequest,
>,
) -> Result<
tonic::Response<super::SuggestSmartCampaignBudgetOptionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SmartCampaignSuggestService/SuggestSmartCampaignBudgetOptions",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn suggest_smart_campaign_ad(
&mut self,
request: impl tonic::IntoRequest<super::SuggestSmartCampaignAdRequest>,
) -> Result<
tonic::Response<super::SuggestSmartCampaignAdResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SmartCampaignSuggestService/SuggestSmartCampaignAd",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn suggest_keyword_themes(
&mut self,
request: impl tonic::IntoRequest<super::SuggestKeywordThemesRequest>,
) -> Result<
tonic::Response<super::SuggestKeywordThemesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.SmartCampaignSuggestService/SuggestKeywordThemes",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadClickConversionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub conversions: ::prost::alloc::vec::Vec<ClickConversion>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadClickConversionsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<ClickConversionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadCallConversionsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub conversions: ::prost::alloc::vec::Vec<CallConversion>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadCallConversionsResponse {
#[prost(message, optional, tag="1")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<CallConversionResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClickConversion {
#[prost(string, optional, tag="9")]
pub gclid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="18")]
pub gbraid: ::prost::alloc::string::String,
#[prost(string, tag="19")]
pub wbraid: ::prost::alloc::string::String,
#[prost(string, optional, tag="10")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub conversion_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag="12")]
pub conversion_value: ::core::option::Option<f64>,
#[prost(string, optional, tag="13")]
pub currency_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="14")]
pub order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="7")]
pub external_attribution_data: ::core::option::Option<ExternalAttributionData>,
#[prost(message, repeated, tag="15")]
pub custom_variables: ::prost::alloc::vec::Vec<CustomVariable>,
#[prost(message, optional, tag="16")]
pub cart_data: ::core::option::Option<CartData>,
#[prost(message, repeated, tag="17")]
pub user_identifiers: ::prost::alloc::vec::Vec<super::common::UserIdentifier>,
#[prost(enumeration="super::enums::conversion_environment_enum::ConversionEnvironment", tag="20")]
pub conversion_environment: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CallConversion {
#[prost(string, optional, tag="7")]
pub caller_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub call_start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub conversion_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag="11")]
pub conversion_value: ::core::option::Option<f64>,
#[prost(string, optional, tag="12")]
pub currency_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="13")]
pub custom_variables: ::prost::alloc::vec::Vec<CustomVariable>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExternalAttributionData {
#[prost(double, optional, tag="3")]
pub external_attribution_credit: ::core::option::Option<f64>,
#[prost(string, optional, tag="4")]
pub external_attribution_model: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClickConversionResult {
#[prost(string, optional, tag="4")]
pub gclid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="8")]
pub gbraid: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub wbraid: ::prost::alloc::string::String,
#[prost(string, optional, tag="5")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub conversion_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="7")]
pub user_identifiers: ::prost::alloc::vec::Vec<super::common::UserIdentifier>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CallConversionResult {
#[prost(string, optional, tag="5")]
pub caller_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub call_start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub conversion_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub conversion_date_time: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomVariable {
#[prost(string, tag="1")]
pub conversion_custom_variable: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartData {
#[prost(int64, tag="6")]
pub merchant_id: i64,
#[prost(string, tag="2")]
pub feed_country_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub feed_language_code: ::prost::alloc::string::String,
#[prost(double, tag="4")]
pub local_transaction_cost: f64,
#[prost(message, repeated, tag="5")]
pub items: ::prost::alloc::vec::Vec<cart_data::Item>,
}
pub mod cart_data {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Item {
#[prost(string, tag="1")]
pub product_id: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub quantity: i32,
#[prost(double, tag="3")]
pub unit_price: f64,
}
}
pub mod conversion_upload_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ConversionUploadServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ConversionUploadServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ConversionUploadServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ConversionUploadServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn upload_click_conversions(
&mut self,
request: impl tonic::IntoRequest<super::UploadClickConversionsRequest>,
) -> Result<
tonic::Response<super::UploadClickConversionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionUploadService/UploadClickConversions",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn upload_call_conversions(
&mut self,
request: impl tonic::IntoRequest<super::UploadCallConversionsRequest>,
) -> Result<
tonic::Response<super::UploadCallConversionsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ConversionUploadService/UploadCallConversions",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListMerchantCenterLinksRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListMerchantCenterLinksResponse {
#[prost(message, repeated, tag="1")]
pub merchant_center_links: ::prost::alloc::vec::Vec<super::resources::MerchantCenterLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMerchantCenterLinkRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMerchantCenterLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<MerchantCenterLinkOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MerchantCenterLinkOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="merchant_center_link_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<merchant_center_link_operation::Operation>,
}
pub mod merchant_center_link_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Update(super::super::resources::MerchantCenterLink),
#[prost(string, tag="2")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMerchantCenterLinkResponse {
#[prost(message, optional, tag="2")]
pub result: ::core::option::Option<MutateMerchantCenterLinkResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateMerchantCenterLinkResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod merchant_center_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct MerchantCenterLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> MerchantCenterLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> MerchantCenterLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
MerchantCenterLinkServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn list_merchant_center_links(
&mut self,
request: impl tonic::IntoRequest<super::ListMerchantCenterLinksRequest>,
) -> Result<
tonic::Response<super::ListMerchantCenterLinksResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.MerchantCenterLinkService/ListMerchantCenterLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn get_merchant_center_link(
&mut self,
request: impl tonic::IntoRequest<super::GetMerchantCenterLinkRequest>,
) -> Result<
tonic::Response<super::super::resources::MerchantCenterLink>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.MerchantCenterLinkService/GetMerchantCenterLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn mutate_merchant_center_link(
&mut self,
request: impl tonic::IntoRequest<super::MutateMerchantCenterLinkRequest>,
) -> Result<
tonic::Response<super::MutateMerchantCenterLinkResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.MerchantCenterLinkService/MutateMerchantCenterLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestGeoTargetConstantsRequest {
#[prost(string, optional, tag="6")]
pub locale: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub country_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(oneof="suggest_geo_target_constants_request::Query", tags="1, 2")]
pub query: ::core::option::Option<suggest_geo_target_constants_request::Query>,
}
pub mod suggest_geo_target_constants_request {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LocationNames {
#[prost(string, repeated, tag="2")]
pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoTargets {
#[prost(string, repeated, tag="2")]
pub geo_target_constants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Query {
#[prost(message, tag="1")]
LocationNames(LocationNames),
#[prost(message, tag="2")]
GeoTargets(GeoTargets),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestGeoTargetConstantsResponse {
#[prost(message, repeated, tag="1")]
pub geo_target_constant_suggestions: ::prost::alloc::vec::Vec<GeoTargetConstantSuggestion>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoTargetConstantSuggestion {
#[prost(string, optional, tag="6")]
pub locale: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="7")]
pub reach: ::core::option::Option<i64>,
#[prost(string, optional, tag="8")]
pub search_term: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="4")]
pub geo_target_constant: ::core::option::Option<super::resources::GeoTargetConstant>,
#[prost(message, repeated, tag="5")]
pub geo_target_constant_parents: ::prost::alloc::vec::Vec<super::resources::GeoTargetConstant>,
}
pub mod geo_target_constant_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct GeoTargetConstantServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> GeoTargetConstantServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> GeoTargetConstantServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
GeoTargetConstantServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn suggest_geo_target_constants(
&mut self,
request: impl tonic::IntoRequest<super::SuggestGeoTargetConstantsRequest>,
) -> Result<
tonic::Response<super::SuggestGeoTargetConstantsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.GeoTargetConstantService/SuggestGeoTargetConstants",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountBudgetProposalRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<AccountBudgetProposalOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccountBudgetProposalOperation {
#[prost(message, optional, tag="3")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="account_budget_proposal_operation::Operation", tags="2, 1")]
pub operation: ::core::option::Option<account_budget_proposal_operation::Operation>,
}
pub mod account_budget_proposal_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="2")]
Create(super::super::resources::AccountBudgetProposal),
#[prost(string, tag="1")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountBudgetProposalResponse {
#[prost(message, optional, tag="2")]
pub result: ::core::option::Option<MutateAccountBudgetProposalResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountBudgetProposalResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod account_budget_proposal_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AccountBudgetProposalServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AccountBudgetProposalServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AccountBudgetProposalServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AccountBudgetProposalServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_account_budget_proposal(
&mut self,
request: impl tonic::IntoRequest<super::MutateAccountBudgetProposalRequest>,
) -> Result<
tonic::Response<super::MutateAccountBudgetProposalResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AccountBudgetProposalService/MutateAccountBudgetProposal",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestKeywordThemeConstantsRequest {
#[prost(string, tag="1")]
pub query_text: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub country_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub language_code: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SuggestKeywordThemeConstantsResponse {
#[prost(message, repeated, tag="1")]
pub keyword_theme_constants: ::prost::alloc::vec::Vec<super::resources::KeywordThemeConstant>,
}
pub mod keyword_theme_constant_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct KeywordThemeConstantServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> KeywordThemeConstantServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> KeywordThemeConstantServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
KeywordThemeConstantServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn suggest_keyword_theme_constants(
&mut self,
request: impl tonic::IntoRequest<super::SuggestKeywordThemeConstantsRequest>,
) -> Result<
tonic::Response<super::SuggestKeywordThemeConstantsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.KeywordThemeConstantService/SuggestKeywordThemeConstants",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListInvoicesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub billing_setup: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub issue_year: ::prost::alloc::string::String,
#[prost(enumeration="super::enums::month_of_year_enum::MonthOfYear", tag="4")]
pub issue_month: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListInvoicesResponse {
#[prost(message, repeated, tag="1")]
pub invoices: ::prost::alloc::vec::Vec<super::resources::Invoice>,
}
pub mod invoice_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct InvoiceServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> InvoiceServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> InvoiceServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
InvoiceServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn list_invoices(
&mut self,
request: impl tonic::IntoRequest<super::ListInvoicesRequest>,
) -> Result<tonic::Response<super::ListInvoicesResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.InvoiceService/ListInvoices",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPaymentsAccountsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPaymentsAccountsResponse {
#[prost(message, repeated, tag="1")]
pub payments_accounts: ::prost::alloc::vec::Vec<super::resources::PaymentsAccount>,
}
pub mod payments_account_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct PaymentsAccountServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> PaymentsAccountServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> PaymentsAccountServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
PaymentsAccountServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn list_payments_accounts(
&mut self,
request: impl tonic::IntoRequest<super::ListPaymentsAccountsRequest>,
) -> Result<
tonic::Response<super::ListPaymentsAccountsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.PaymentsAccountService/ListPaymentsAccounts",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAccountLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub account_link: ::core::option::Option<super::resources::AccountLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAccountLinkResponse {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<AccountLinkOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccountLinkOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="account_link_operation::Operation", tags="2, 3")]
pub operation: ::core::option::Option<account_link_operation::Operation>,
}
pub mod account_link_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="2")]
Update(super::super::resources::AccountLink),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountLinkResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateAccountLinkResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateAccountLinkResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod account_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct AccountLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AccountLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AccountLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
AccountLinkServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn create_account_link(
&mut self,
request: impl tonic::IntoRequest<super::CreateAccountLinkRequest>,
) -> Result<tonic::Response<super::CreateAccountLinkResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AccountLinkService/CreateAccountLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn mutate_account_link(
&mut self,
request: impl tonic::IntoRequest<super::MutateAccountLinkRequest>,
) -> Result<tonic::Response<super::MutateAccountLinkResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.AccountLinkService/MutateAccountLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomAudiencesRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomAudienceOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomAudienceOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="custom_audience_operation::Operation", tags="1, 2, 3")]
pub operation: ::core::option::Option<custom_audience_operation::Operation>,
}
pub mod custom_audience_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomAudience),
#[prost(message, tag="2")]
Update(super::super::resources::CustomAudience),
#[prost(string, tag="3")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomAudiencesResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomAudienceResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomAudienceResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod custom_audience_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomAudienceServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomAudienceServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomAudienceServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomAudienceServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_custom_audiences(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomAudiencesRequest>,
) -> Result<
tonic::Response<super::MutateCustomAudiencesResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomAudienceService/MutateCustomAudiences",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadUserDataRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub operations: ::prost::alloc::vec::Vec<UserDataOperation>,
#[prost(oneof="upload_user_data_request::Metadata", tags="2")]
pub metadata: ::core::option::Option<upload_user_data_request::Metadata>,
}
pub mod upload_user_data_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Metadata {
#[prost(message, tag="2")]
CustomerMatchUserListMetadata(super::super::common::CustomerMatchUserListMetadata),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserDataOperation {
#[prost(oneof="user_data_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<user_data_operation::Operation>,
}
pub mod user_data_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::common::UserData),
#[prost(message, tag="2")]
Remove(super::super::common::UserData),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UploadUserDataResponse {
#[prost(string, optional, tag="3")]
pub upload_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="4")]
pub received_operations_count: ::core::option::Option<i32>,
}
pub mod user_data_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct UserDataServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> UserDataServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> UserDataServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
UserDataServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn upload_user_data(
&mut self,
request: impl tonic::IntoRequest<super::UploadUserDataRequest>,
) -> Result<tonic::Response<super::UploadUserDataResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.UserDataService/UploadUserData",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBillingSetupRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub operation: ::core::option::Option<BillingSetupOperation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BillingSetupOperation {
#[prost(oneof="billing_setup_operation::Operation", tags="2, 1")]
pub operation: ::core::option::Option<billing_setup_operation::Operation>,
}
pub mod billing_setup_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="2")]
Create(super::super::resources::BillingSetup),
#[prost(string, tag="1")]
Remove(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBillingSetupResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<MutateBillingSetupResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateBillingSetupResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod billing_setup_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct BillingSetupServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> BillingSetupServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> BillingSetupServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
BillingSetupServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_billing_setup(
&mut self,
request: impl tonic::IntoRequest<super::MutateBillingSetupRequest>,
) -> Result<tonic::Response<super::MutateBillingSetupResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.BillingSetupService/MutateBillingSetup",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyRecommendationRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<ApplyRecommendationOperation>,
#[prost(bool, tag="3")]
pub partial_failure: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyRecommendationOperation {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
#[prost(oneof="apply_recommendation_operation::ApplyParameters", tags="2, 3, 4, 5, 10, 6, 7, 8, 9, 11, 12, 13")]
pub apply_parameters: ::core::option::Option<apply_recommendation_operation::ApplyParameters>,
}
pub mod apply_recommendation_operation {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CampaignBudgetParameters {
#[prost(int64, optional, tag="2")]
pub new_budget_amount_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextAdParameters {
#[prost(message, optional, tag="1")]
pub ad: ::core::option::Option<super::super::resources::Ad>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeywordParameters {
#[prost(string, optional, tag="4")]
pub ad_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::super::enums::keyword_match_type_enum::KeywordMatchType", tag="2")]
pub match_type: i32,
#[prost(int64, optional, tag="5")]
pub cpc_bid_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetCpaOptInParameters {
#[prost(int64, optional, tag="3")]
pub target_cpa_micros: ::core::option::Option<i64>,
#[prost(int64, optional, tag="4")]
pub new_campaign_budget_amount_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetRoasOptInParameters {
#[prost(double, optional, tag="1")]
pub target_roas: ::core::option::Option<f64>,
#[prost(int64, optional, tag="2")]
pub new_campaign_budget_amount_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalloutExtensionParameters {
#[prost(message, repeated, tag="1")]
pub callout_extensions: ::prost::alloc::vec::Vec<super::super::common::CalloutFeedItem>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CallExtensionParameters {
#[prost(message, repeated, tag="1")]
pub call_extensions: ::prost::alloc::vec::Vec<super::super::common::CallFeedItem>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SitelinkExtensionParameters {
#[prost(message, repeated, tag="1")]
pub sitelink_extensions: ::prost::alloc::vec::Vec<super::super::common::SitelinkFeedItem>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MoveUnusedBudgetParameters {
#[prost(int64, optional, tag="2")]
pub budget_micros_to_move: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResponsiveSearchAdAssetParameters {
#[prost(message, optional, tag="1")]
pub updated_ad: ::core::option::Option<super::super::resources::Ad>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResponsiveSearchAdParameters {
#[prost(message, optional, tag="1")]
pub ad: ::core::option::Option<super::super::resources::Ad>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseBroadMatchKeywordParameters {
#[prost(int64, optional, tag="1")]
pub new_budget_amount_micros: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ApplyParameters {
#[prost(message, tag="2")]
CampaignBudget(CampaignBudgetParameters),
#[prost(message, tag="3")]
TextAd(TextAdParameters),
#[prost(message, tag="4")]
Keyword(KeywordParameters),
#[prost(message, tag="5")]
TargetCpaOptIn(TargetCpaOptInParameters),
#[prost(message, tag="10")]
TargetRoasOptIn(TargetRoasOptInParameters),
#[prost(message, tag="6")]
CalloutExtension(CalloutExtensionParameters),
#[prost(message, tag="7")]
CallExtension(CallExtensionParameters),
#[prost(message, tag="8")]
SitelinkExtension(SitelinkExtensionParameters),
#[prost(message, tag="9")]
MoveUnusedBudget(MoveUnusedBudgetParameters),
#[prost(message, tag="11")]
ResponsiveSearchAd(ResponsiveSearchAdParameters),
#[prost(message, tag="12")]
UseBroadMatchKeyword(UseBroadMatchKeywordParameters),
#[prost(message, tag="13")]
ResponsiveSearchAdAsset(ResponsiveSearchAdAssetParameters),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyRecommendationResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<ApplyRecommendationResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyRecommendationResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DismissRecommendationRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub operations: ::prost::alloc::vec::Vec<dismiss_recommendation_request::DismissRecommendationOperation>,
#[prost(bool, tag="2")]
pub partial_failure: bool,
}
pub mod dismiss_recommendation_request {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DismissRecommendationOperation {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DismissRecommendationResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<dismiss_recommendation_response::DismissRecommendationResult>,
#[prost(message, optional, tag="2")]
pub partial_failure_error: ::core::option::Option<super::super::super::super::rpc::Status>,
}
pub mod dismiss_recommendation_response {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DismissRecommendationResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
}
pub mod recommendation_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct RecommendationServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> RecommendationServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> RecommendationServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
RecommendationServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn apply_recommendation(
&mut self,
request: impl tonic::IntoRequest<super::ApplyRecommendationRequest>,
) -> Result<tonic::Response<super::ApplyRecommendationResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.RecommendationService/ApplyRecommendation",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn dismiss_recommendation(
&mut self,
request: impl tonic::IntoRequest<super::DismissRecommendationRequest>,
) -> Result<
tonic::Response<super::DismissRecommendationResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.RecommendationService/DismissRecommendation",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerManagerLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomerManagerLinkOperation>,
#[prost(bool, tag="3")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MoveManagerLinkRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub previous_customer_manager_link: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub new_manager: ::prost::alloc::string::String,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerManagerLinkOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="customer_manager_link_operation::Operation", tags="2")]
pub operation: ::core::option::Option<customer_manager_link_operation::Operation>,
}
pub mod customer_manager_link_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="2")]
Update(super::super::resources::CustomerManagerLink),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerManagerLinkResponse {
#[prost(message, repeated, tag="1")]
pub results: ::prost::alloc::vec::Vec<MutateCustomerManagerLinkResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MoveManagerLinkResponse {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomerManagerLinkResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod customer_manager_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomerManagerLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomerManagerLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomerManagerLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomerManagerLinkServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_customer_manager_link(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomerManagerLinkRequest>,
) -> Result<
tonic::Response<super::MutateCustomerManagerLinkResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerManagerLinkService/MutateCustomerManagerLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
pub async fn move_manager_link(
&mut self,
request: impl tonic::IntoRequest<super::MoveManagerLinkRequest>,
) -> Result<tonic::Response<super::MoveManagerLinkResponse>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomerManagerLinkService/MoveManagerLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomInterestsRequest {
#[prost(string, tag="1")]
pub customer_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub operations: ::prost::alloc::vec::Vec<CustomInterestOperation>,
#[prost(bool, tag="4")]
pub validate_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomInterestOperation {
#[prost(message, optional, tag="4")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(oneof="custom_interest_operation::Operation", tags="1, 2")]
pub operation: ::core::option::Option<custom_interest_operation::Operation>,
}
pub mod custom_interest_operation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Operation {
#[prost(message, tag="1")]
Create(super::super::resources::CustomInterest),
#[prost(message, tag="2")]
Update(super::super::resources::CustomInterest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomInterestsResponse {
#[prost(message, repeated, tag="2")]
pub results: ::prost::alloc::vec::Vec<MutateCustomInterestResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutateCustomInterestResult {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
pub mod custom_interest_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct CustomInterestServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> CustomInterestServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CustomInterestServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
CustomInterestServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn mutate_custom_interests(
&mut self,
request: impl tonic::IntoRequest<super::MutateCustomInterestsRequest>,
) -> Result<
tonic::Response<super::MutateCustomInterestsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.CustomInterestService/MutateCustomInterests",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegenerateShareableLinkIdRequest {
#[prost(string, tag="1")]
pub resource_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegenerateShareableLinkIdResponse {
}
pub mod third_party_app_analytics_link_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ThirdPartyAppAnalyticsLinkServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> ThirdPartyAppAnalyticsLinkServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ThirdPartyAppAnalyticsLinkServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + Send + Sync,
{
ThirdPartyAppAnalyticsLinkServiceClient::new(
InterceptedService::new(inner, interceptor),
)
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
pub async fn regenerate_shareable_link_id(
&mut self,
request: impl tonic::IntoRequest<super::RegenerateShareableLinkIdRequest>,
) -> Result<
tonic::Response<super::RegenerateShareableLinkIdResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService/RegenerateShareableLinkId",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}