#[allow(unused_imports)]
use crate::Error;
use crate::Result;
#[derive(Clone)]
pub struct LoggingServiceV2 {
inner: gaxi::http::ReqwestClient,
}
impl std::fmt::Debug for LoggingServiceV2 {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
f.debug_struct("LoggingServiceV2")
.field("inner", &self.inner)
.finish()
}
}
impl LoggingServiceV2 {
pub async fn new(config: gaxi::options::ClientConfig) -> crate::ClientBuilderResult<Self> {
let inner = gaxi::http::ReqwestClient::new(config, crate::DEFAULT_HOST).await?;
Ok(Self { inner })
}
}
impl super::stub::LoggingServiceV2 for LoggingServiceV2 {
async fn delete_log(
&self,
req: crate::model::DeleteLogRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_log_name = try_match(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_log_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_log_name = try_match(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_log_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_log_name = try_match(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_log_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_log_name = try_match(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_log_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_log_name = try_match(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_log_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
"log_name",
"projects/*/logs/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
"log_name",
"*/*/logs/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
"log_name",
"organizations/*/logs/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
"log_name",
"folders/*/logs/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.log_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/logs/"),
Segment::SingleWildcard,
],
"log_name",
"billingAccounts/*/logs/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn write_log_entries(
&self,
req: crate::model::WriteLogEntriesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::WriteLogEntriesResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let path = "/v2/entries:write".to_string();
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner.execute(builder, body, options).await
}
async fn list_log_entries(
&self,
req: crate::model::ListLogEntriesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListLogEntriesResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let path = "/v2/entries:list".to_string();
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner.execute(builder, body, options).await
}
async fn list_monitored_resource_descriptors(
&self,
req: crate::model::ListMonitoredResourceDescriptorsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListMonitoredResourceDescriptorsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let path = "/v2/monitoredResourceDescriptors".to_string();
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn list_logs(
&self,
req: crate::model::ListLogsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListLogsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/logs", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = req
.resource_names
.iter()
.fold(builder, |builder, p| builder.query(&[("resourceNames", p)]));
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"parent",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"parent",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"parent",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn list_operations(
&self,
req: google_cloud_longrunning::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn cancel_operation(
&self,
req: google_cloud_longrunning::model::CancelOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
}
#[derive(Clone)]
pub struct ConfigServiceV2 {
inner: gaxi::http::ReqwestClient,
}
impl std::fmt::Debug for ConfigServiceV2 {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
f.debug_struct("ConfigServiceV2")
.field("inner", &self.inner)
.finish()
}
}
impl ConfigServiceV2 {
pub async fn new(config: gaxi::options::ClientConfig) -> crate::ClientBuilderResult<Self> {
let inner = gaxi::http::ReqwestClient::new(config, crate::DEFAULT_HOST).await?;
Ok(Self { inner })
}
}
impl super::stub::ConfigServiceV2 for ConfigServiceV2 {
async fn list_buckets(
&self,
req: crate::model::ListBucketsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListBucketsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_bucket(
&self,
req: crate::model::GetBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogBucket>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn create_bucket_async(
&self,
req: crate::model::CreateBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets:createAsync", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets:createAsync", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets:createAsync", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets:createAsync", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets:createAsync", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.bucket, &method);
self.inner.execute(builder, body, options).await
}
async fn update_bucket_async(
&self,
req: crate::model::UpdateBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:updateAsync", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:updateAsync", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:updateAsync", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:updateAsync", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:updateAsync", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.bucket, &method);
self.inner.execute(builder, body, options).await
}
async fn create_bucket(
&self,
req: crate::model::CreateBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogBucket>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/buckets", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("bucketId", &req.bucket_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.bucket, &method);
self.inner.execute(builder, body, options).await
}
async fn update_bucket(
&self,
req: crate::model::UpdateBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogBucket>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.bucket, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_bucket(
&self,
req: crate::model::DeleteBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn undelete_bucket(
&self,
req: crate::model::UndeleteBucketRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:undelete", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:undelete", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:undelete", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:undelete", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:undelete", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn list_views(
&self,
req: crate::model::ListViewsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListViewsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_view(
&self,
req: crate::model::GetViewRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogView>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn create_view(
&self,
req: crate::model::CreateViewRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogView>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("viewId", &req.view_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("viewId", &req.view_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("viewId", &req.view_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("viewId", &req.view_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/views", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("viewId", &req.view_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.view, &method);
self.inner.execute(builder, body, options).await
}
async fn update_view(
&self,
req: crate::model::UpdateViewRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogView>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.view, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_view(
&self,
req: crate::model::DeleteViewRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/views/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*/views/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn list_sinks(
&self,
req: crate::model::ListSinksRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListSinksResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"parent",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"parent",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"parent",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_sink(
&self,
req: crate::model::GetSinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogSink>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"*/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"projects/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"organizations/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"folders/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"billingAccounts/*/sinks/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn create_sink(
&self,
req: crate::model::CreateSinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogSink>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/sinks", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"parent",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"parent",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"parent",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.sink, &method);
self.inner.execute(builder, body, options).await
}
async fn update_sink(
&self,
req: crate::model::UpdateSinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogSink>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PUT)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PUT)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PUT)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PUT)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PUT)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder =
builder.query(&[("uniqueWriterIdentity", &req.unique_writer_identity)]);
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"*/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"projects/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"organizations/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"folders/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"billingAccounts/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"projects/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"organizations/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"folders/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"billingAccounts/*/sinks/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.sink, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_sink(
&self,
req: crate::model::DeleteSinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_sink_name = try_match(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_sink_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"*/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"projects/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"organizations/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"folders/*/sinks/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.sink_name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/sinks/"),
Segment::SingleWildcard,
],
"sink_name",
"billingAccounts/*/sinks/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn create_link(
&self,
req: crate::model::CreateLinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("linkId", &req.link_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("linkId", &req.link_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("linkId", &req.link_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("linkId", &req.link_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = builder.query(&[("linkId", &req.link_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.link, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_link(
&self,
req: crate::model::DeleteLinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn list_links(
&self,
req: crate::model::ListLinksRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListLinksResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/links", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"*/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"organizations/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"folders/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*/locations/*/buckets/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_link(
&self,
req: crate::model::GetLinkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Link>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/buckets/"),
Segment::SingleWildcard,
Segment::Literal("/links/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/buckets/*/links/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn list_exclusions(
&self,
req: crate::model::ListExclusionsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListExclusionsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"parent",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"parent",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"parent",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_exclusion(
&self,
req: crate::model::GetExclusionRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogExclusion>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"*/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"projects/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"folders/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/exclusions/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn create_exclusion(
&self,
req: crate::model::CreateExclusionRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogExclusion>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/exclusions", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"parent",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"parent",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"parent",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"parent",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.exclusion, &method);
self.inner.execute(builder, body, options).await
}
async fn update_exclusion(
&self,
req: crate::model::UpdateExclusionRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogExclusion>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"*/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"projects/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"folders/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/exclusions/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.exclusion, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_exclusion(
&self,
req: crate::model::DeleteExclusionRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"*/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"projects/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"folders/*/exclusions/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/exclusions/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/exclusions/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn get_cmek_settings(
&self,
req: crate::model::GetCmekSettingsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::CmekSettings>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"name",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"name",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"name",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"name",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn update_cmek_settings(
&self,
req: crate::model::UpdateCmekSettingsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::CmekSettings>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/cmekSettings", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"name",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"name",
"organizations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.cmek_settings, &method);
self.inner.execute(builder, body, options).await
}
async fn get_settings(
&self,
req: crate::model::GetSettingsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Settings>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"name",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"name",
"projects/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"name",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"name",
"folders/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn update_settings(
&self,
req: crate::model::UpdateSettingsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Settings>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/settings", var_name,);
let builder = self.inner.builder(Method::PATCH, path);
let builder = (|| {
let builder = req
.update_mask
.as_ref()
.map(|p| serde_json::to_value(p).map_err(Error::ser))
.transpose()?
.into_iter()
.fold(builder, |builder, v| {
use gaxi::query_parameter::QueryParameter;
v.add(builder, "updateMask")
});
Ok(builder)
})();
Some(builder.map(|b| (b, Method::PATCH)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
],
"name",
"*/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("organizations/"), Segment::SingleWildcard],
"name",
"organizations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[Segment::Literal("folders/"), Segment::SingleWildcard],
"name",
"folders/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.settings, &method);
self.inner.execute(builder, body, options).await
}
async fn copy_log_entries(
&self,
req: crate::model::CopyLogEntriesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let path = "/v2/entries:copy".to_string();
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner.execute(builder, body, options).await
}
async fn list_operations(
&self,
req: google_cloud_longrunning::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn cancel_operation(
&self,
req: google_cloud_longrunning::model::CancelOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
self.inner.get_polling_error_policy(options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
self.inner.get_polling_backoff_policy(options)
}
}
#[derive(Clone)]
pub struct MetricsServiceV2 {
inner: gaxi::http::ReqwestClient,
}
impl std::fmt::Debug for MetricsServiceV2 {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
f.debug_struct("MetricsServiceV2")
.field("inner", &self.inner)
.finish()
}
}
impl MetricsServiceV2 {
pub async fn new(config: gaxi::options::ClientConfig) -> crate::ClientBuilderResult<Self> {
let inner = gaxi::http::ReqwestClient::new(config, crate::DEFAULT_HOST).await?;
Ok(Self { inner })
}
}
impl super::stub::MetricsServiceV2 for MetricsServiceV2 {
async fn list_log_metrics(
&self,
req: crate::model::ListLogMetricsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListLogMetricsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/metrics", var_parent,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_log_metric(
&self,
req: crate::model::GetLogMetricRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogMetric>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_metric_name = try_match(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_metric_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
"metric_name",
"projects/*/metrics/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn create_log_metric(
&self,
req: crate::model::CreateLogMetricRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogMetric>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_parent = try_match(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
)?;
let path = format!("/v2/{}/metrics", var_parent,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
&[Segment::Literal("projects/"), Segment::SingleWildcard],
"parent",
"projects/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.metric, &method);
self.inner.execute(builder, body, options).await
}
async fn update_log_metric(
&self,
req: crate::model::UpdateLogMetricRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::LogMetric>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_metric_name = try_match(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_metric_name,);
let builder = self.inner.builder(Method::PUT, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::PUT)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
"metric_name",
"projects/*/metrics/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(req.metric, &method);
self.inner.execute(builder, body, options).await
}
async fn delete_log_metric(
&self,
req: crate::model::DeleteLogMetricRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_metric_name = try_match(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_metric_name,);
let builder = self.inner.builder(Method::DELETE, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.metric_name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/metrics/"),
Segment::SingleWildcard,
],
"metric_name",
"projects/*/metrics/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
async fn list_operations(
&self,
req: google_cloud_longrunning::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}/operations", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("filter", &req.filter)]);
let builder = builder.query(&[("pageSize", &req.page_size)]);
let builder = builder.query(&[("pageToken", &req.page_token)]);
let builder =
builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}", var_name,);
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
self.inner.execute(builder, body, options).await
}
async fn cancel_operation(
&self,
req: google_cloud_longrunning::model::CancelOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
use gaxi::http::reqwest::{HeaderValue, Method};
use gaxi::path_parameter::PathMismatchBuilder;
use gaxi::path_parameter::try_match;
use gaxi::routing_parameter::Segment;
use google_cloud_gax::error::binding::BindingError;
let (builder, method) = None
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.or_else(|| {
let var_name = try_match(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v2/{}:cancel", var_name,);
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST)))
})
.ok_or_else(|| {
let mut paths = Vec::new();
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::SingleWildcard,
Segment::Literal("/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"*/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("organizations/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"organizations/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("folders/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"folders/*/locations/*/operations/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.name).map(|s| s.as_str()),
&[
Segment::Literal("billingAccounts/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/operations/"),
Segment::SingleWildcard,
],
"name",
"billingAccounts/*/locations/*/operations/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
let options = google_cloud_gax::options::internal::set_default_idempotency(
options,
gaxi::http::default_idempotency(&method),
);
let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
"x-goog-api-client",
HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
);
let body = gaxi::http::handle_empty(Some(req), &method);
self.inner
.execute(builder, body, options)
.await
.map(|r: crate::Response<wkt::Empty>| {
let (parts, _) = r.into_parts();
crate::Response::from_parts(parts, ())
})
}
}