#[allow(unused_imports)]
use crate::Error;
use crate::Result;
#[derive(Clone)]
pub struct ClusterManager {
inner: gaxi::http::ReqwestClient,
}
impl std::fmt::Debug for ClusterManager {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
f.debug_struct("ClusterManager")
.field("inner", &self.inner)
.finish()
}
}
impl ClusterManager {
pub async fn new(config: gaxi::options::ClientConfig) -> crate::ClientBuilderResult<Self> {
let tracing_is_enabled = gaxi::options::tracing_enabled(&config);
let inner = gaxi::http::ReqwestClient::new(config, crate::DEFAULT_HOST).await?;
let inner = if tracing_is_enabled {
inner.with_instrumentation(&super::tracing::info::INSTRUMENTATION_CLIENT_INFO)
} else {
inner
};
Ok(Self { inner })
}
}
impl super::stub::ClusterManager for ClusterManager {
async fn list_clusters(
&self,
req: crate::model::ListClustersRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListClustersResponse>> {
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, _path_template) = None
.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!("/v1/{}/clusters", var_parent,);
let path_template = "/v1/{parent}/clusters";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters",
var_project_id, var_zone,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("parent", &req.parent)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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,
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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/ListClusters")
.set_url_template(_path_template),
);
}
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_cluster(
&self,
req: crate::model::GetClusterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Cluster>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}", var_name,);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("clusterId", &req.cluster_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}",
var_project_id, var_zone, var_cluster_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/GetCluster")
.set_url_template(_path_template),
);
}
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_cluster(
&self,
req: crate::model::CreateClusterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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!("/v1/{}/clusters", var_parent,);
let path_template = "/v1/{parent}/clusters";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters",
var_project_id, var_zone,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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,
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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/CreateCluster")
.set_url_template(_path_template),
);
}
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 update_cluster(
&self,
req: crate::model::UpdateClusterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}", var_name,);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::PUT, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::PUT, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}",
var_project_id, var_zone, var_cluster_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}";
let builder = self.inner.builder(Method::PUT, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::PUT, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/UpdateCluster")
.set_url_template(_path_template),
);
}
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 update_node_pool(
&self,
req: crate::model::UpdateNodePoolRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}",
var_name,
);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::PUT, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::PUT, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}/update",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/update";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/UpdateNodePool")
.set_url_template(_path_template),
);
}
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 set_node_pool_autoscaling(
&self,
req: crate::model::SetNodePoolAutoscalingRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:setAutoscaling",
var_name,
);
let path_template = "/v1/{name}:setAutoscaling";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}/autoscaling",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/autoscaling";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetNodePoolAutoscaling")
.set_url_template(_path_template),
);
}
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 set_logging_service(
&self,
req: crate::model::SetLoggingServiceRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setLogging", var_name,);
let path_template = "/v1/{name}:setLogging";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/logging",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/logging";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetLoggingService")
.set_url_template(_path_template),
);
}
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 set_monitoring_service(
&self,
req: crate::model::SetMonitoringServiceRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setMonitoring", var_name,);
let path_template = "/v1/{name}:setMonitoring";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/monitoring",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/monitoring";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetMonitoringService")
.set_url_template(_path_template),
);
}
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 set_addons_config(
&self,
req: crate::model::SetAddonsConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setAddons", var_name,);
let path_template = "/v1/{name}:setAddons";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/addons",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/addons";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetAddonsConfig")
.set_url_template(_path_template),
);
}
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 set_locations(
&self,
req: crate::model::SetLocationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setLocations", var_name,);
let path_template = "/v1/{name}:setLocations";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/locations",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/locations";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetLocations")
.set_url_template(_path_template),
);
}
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 update_master(
&self,
req: crate::model::UpdateMasterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:updateMaster", var_name,);
let path_template = "/v1/{name}:updateMaster";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/master",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/master";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/UpdateMaster")
.set_url_template(_path_template),
);
}
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 set_master_auth(
&self,
req: crate::model::SetMasterAuthRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setMasterAuth", var_name,);
let path_template = "/v1/{name}:setMasterAuth";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}:setMasterAuth",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMasterAuth";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetMasterAuth")
.set_url_template(_path_template),
);
}
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 delete_cluster(
&self,
req: crate::model::DeleteClusterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}", var_name,);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::DELETE, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("clusterId", &req.cluster_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}",
var_project_id, var_zone, var_cluster_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}";
let builder = self.inner.builder(Method::DELETE, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/DeleteCluster")
.set_url_template(_path_template),
);
}
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: crate::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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!("/v1/{}/operations", var_parent,);
let path_template = "/v1/{parent}/operations";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/operations",
var_project_id, var_zone,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/operations";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("parent", &req.parent)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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,
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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/ListOperations")
.set_url_template(_path_template),
);
}
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: crate::model::GetOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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!("/v1/{}", var_name,);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("operationId", &req.operation_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_operation_id = try_match(
Some(&req).map(|m| &m.operation_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/operations/{}",
var_project_id, var_zone, var_operation_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.operation_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"operation_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/GetOperation")
.set_url_template(_path_template),
);
}
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: crate::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, _path_template) = None
.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!("/v1/{}:cancel", var_name,);
let path_template = "/v1/{name}:cancel";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_operation_id = try_match(
Some(&req).map(|m| &m.operation_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/operations/{}:cancel",
var_project_id, var_zone, var_operation_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}:cancel";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.operation_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"operation_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/CancelOperation")
.set_url_template(_path_template),
);
}
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 get_server_config(
&self,
req: crate::model::GetServerConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ServerConfig>> {
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, _path_template) = None
.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!("/v1/{}/serverConfig", var_name,);
let path_template = "/v1/{name}/serverConfig";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/serverconfig",
var_project_id, var_zone,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/serverconfig";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::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.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/GetServerConfig")
.set_url_template(_path_template),
);
}
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_json_web_keys(
&self,
req: crate::model::GetJSONWebKeysRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::GetJSONWebKeysResponse>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}/jwks", var_parent,);
let path_template = "/v1/{parent}/jwks";
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/GetJSONWebKeys")
.set_url_template(_path_template),
);
}
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_node_pools(
&self,
req: crate::model::ListNodePoolsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListNodePoolsResponse>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}/nodePools", var_parent,);
let path_template = "/v1/{parent}/nodePools";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("clusterId", &req.cluster_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("parent", &req.parent)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/ListNodePools")
.set_url_template(_path_template),
);
}
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_node_pool(
&self,
req: crate::model::GetNodePoolRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::NodePool>> {
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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}",
var_name,
);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("clusterId", &req.cluster_id)]);
let builder = builder.query(&[("nodePoolId", &req.node_pool_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/GetNodePool")
.set_url_template(_path_template),
);
}
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_node_pool(
&self,
req: crate::model::CreateNodePoolRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}/nodePools", var_parent,);
let path_template = "/v1/{parent}/nodePools";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"parent",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/CreateNodePool")
.set_url_template(_path_template),
);
}
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 delete_node_pool(
&self,
req: crate::model::DeleteNodePoolRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}",
var_name,
);
let path_template = "/v1/{name}";
let builder = self.inner.builder(Method::DELETE, path);
let builder = builder.query(&[("projectId", &req.project_id)]);
let builder = builder.query(&[("zone", &req.zone)]);
let builder = builder.query(&[("clusterId", &req.cluster_id)]);
let builder = builder.query(&[("nodePoolId", &req.node_pool_id)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}";
let builder = self.inner.builder(Method::DELETE, path);
let builder = builder.query(&[("name", &req.name)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::DELETE, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/DeleteNodePool")
.set_url_template(_path_template),
);
}
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 complete_node_pool_upgrade(
&self,
req: crate::model::CompleteNodePoolUpgradeRequest,
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:completeUpgrade", var_name,);
let path_template = "/v1/{name}:completeUpgrade";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*/nodePools/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/CompleteNodePoolUpgrade")
.set_url_template(_path_template),
);
}
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 rollback_node_pool_upgrade(
&self,
req: crate::model::RollbackNodePoolUpgradeRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:rollback",
var_name,
);
let path_template = "/v1/{name}:rollback";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}:rollback",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}:rollback";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/RollbackNodePoolUpgrade")
.set_url_template(_path_template),
);
}
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 set_node_pool_management(
&self,
req: crate::model::SetNodePoolManagementRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:setManagement",
var_name,
);
let path_template = "/v1/{name}:setManagement";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}/setManagement",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setManagement";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetNodePoolManagement")
.set_url_template(_path_template),
);
}
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 set_labels(
&self,
req: crate::model::SetLabelsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setResourceLabels", var_name,);
let path_template = "/v1/{name}:setResourceLabels";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/resourceLabels",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/resourceLabels";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetLabels")
.set_url_template(_path_template),
);
}
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 set_legacy_abac(
&self,
req: crate::model::SetLegacyAbacRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setLegacyAbac", var_name,);
let path_template = "/v1/{name}:setLegacyAbac";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/legacyAbac",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/legacyAbac";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetLegacyAbac")
.set_url_template(_path_template),
);
}
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 start_ip_rotation(
&self,
req: crate::model::StartIPRotationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:startIpRotation", var_name,);
let path_template = "/v1/{name}:startIpRotation";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}:startIpRotation",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:startIpRotation";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/StartIPRotation")
.set_url_template(_path_template),
);
}
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 complete_ip_rotation(
&self,
req: crate::model::CompleteIPRotationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:completeIpRotation",
var_name,
);
let path_template = "/v1/{name}:completeIpRotation";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}:completeIpRotation",
var_project_id,
var_zone,
var_cluster_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:completeIpRotation";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/CompleteIPRotation")
.set_url_template(_path_template),
);
}
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 set_node_pool_size(
&self,
req: crate::model::SetNodePoolSizeRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:setSize",
var_name,
);
let path_template = "/v1/{name}:setSize";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_node_pool_id = try_match(Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}/nodePools/{}/setSize",
var_project_id,
var_zone,
var_cluster_id,
var_node_pool_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setSize";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard, Segment::Literal("/nodePools/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*/nodePools/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.node_pool_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"node_pool_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetNodePoolSize")
.set_url_template(_path_template),
);
}
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 set_network_policy(
&self,
req: crate::model::SetNetworkPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:setNetworkPolicy", var_name,);
let path_template = "/v1/{name}:setNetworkPolicy";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_zone = try_match(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let var_cluster_id = try_match(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
)?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}:setNetworkPolicy",
var_project_id, var_zone, var_cluster_id,
);
let path_template =
"/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setNetworkPolicy";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*",
);
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetNetworkPolicy")
.set_url_template(_path_template),
);
}
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 set_maintenance_policy(
&self,
req: crate::model::SetMaintenancePolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::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, _path_template) = None
.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("/clusters/"), Segment::SingleWildcard])?;
let path = format!(
"/v1/{}:setMaintenancePolicy",
var_name,
);
let path_template = "/v1/{name}:setMaintenancePolicy";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.or_else(|| {
let var_project_id = try_match(Some(&req).map(|m| &m.project_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_zone = try_match(Some(&req).map(|m| &m.zone).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let var_cluster_id = try_match(Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()), &[Segment::SingleWildcard])?;
let path = format!(
"/v1/projects/{}/zones/{}/clusters/{}:setMaintenancePolicy",
var_project_id,
var_zone,
var_cluster_id,
);
let path_template = "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMaintenancePolicy";
let builder = self.inner.builder(Method::POST, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::POST, path_template)))
})
.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::Literal("projects/"), Segment::SingleWildcard, Segment::Literal("/locations/"), Segment::SingleWildcard, Segment::Literal("/clusters/"), Segment::SingleWildcard],
"name",
"projects/*/locations/*/clusters/*");
paths.push(builder.build());
}
{
let builder = PathMismatchBuilder::default();
let builder = builder.maybe_add(
Some(&req).map(|m| &m.project_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"project_id",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.zone).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"zone",
"*");
let builder = builder.maybe_add(
Some(&req).map(|m| &m.cluster_id).map(|s| s.as_str()),
&[Segment::SingleWildcard],
"cluster_id",
"*");
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/SetMaintenancePolicy")
.set_url_template(_path_template),
);
}
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_usable_subnetworks(
&self,
req: crate::model::ListUsableSubnetworksRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListUsableSubnetworksResponse>> {
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, _path_template) = 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!("/v1/{}/aggregated/usableSubnetworks", var_parent,);
let path_template = "/v1/{parent}/aggregated/usableSubnetworks";
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 = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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 })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/ListUsableSubnetworks")
.set_url_template(_path_template),
);
}
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 check_autopilot_compatibility(
&self,
req: crate::model::CheckAutopilotCompatibilityRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::CheckAutopilotCompatibilityResponse>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:checkAutopilotCompatibility", var_name,);
let path_template = "/v1/{name}:checkAutopilotCompatibility";
let builder = self.inner.builder(Method::GET, path);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method(
"google.container.v1.ClusterManager/CheckAutopilotCompatibility",
)
.set_url_template(_path_template),
);
}
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 fetch_cluster_upgrade_info(
&self,
req: crate::model::FetchClusterUpgradeInfoRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ClusterUpgradeInfo>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:fetchClusterUpgradeInfo", var_name,);
let path_template = "/v1/{name}:fetchClusterUpgradeInfo";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("version", &req.version)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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("/zones/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:fetchClusterUpgradeInfo", var_name,);
let path_template = "/v1/{name}:fetchClusterUpgradeInfo";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("version", &req.version)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*",
);
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("/zones/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
],
"name",
"projects/*/zones/*/clusters/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/FetchClusterUpgradeInfo")
.set_url_template(_path_template),
);
}
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 fetch_node_pool_upgrade_info(
&self,
req: crate::model::FetchNodePoolUpgradeInfoRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::NodePoolUpgradeInfo>> {
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, _path_template) = None
.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("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:fetchNodePoolUpgradeInfo", var_name,);
let path_template = "/v1/{name}:fetchNodePoolUpgradeInfo";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("version", &req.version)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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("/zones/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
)?;
let path = format!("/v1/{}:fetchNodePoolUpgradeInfo", var_name,);
let path_template = "/v1/{name}:fetchNodePoolUpgradeInfo";
let builder = self.inner.builder(Method::GET, path);
let builder = builder.query(&[("version", &req.version)]);
let builder = Ok(builder);
Some(builder.map(|b| (b, Method::GET, path_template)))
})
.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::Literal("projects/"),
Segment::SingleWildcard,
Segment::Literal("/locations/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
"name",
"projects/*/locations/*/clusters/*/nodePools/*",
);
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("/zones/"),
Segment::SingleWildcard,
Segment::Literal("/clusters/"),
Segment::SingleWildcard,
Segment::Literal("/nodePools/"),
Segment::SingleWildcard,
],
"name",
"projects/*/zones/*/clusters/*/nodePools/*",
);
paths.push(builder.build());
}
google_cloud_gax::error::Error::binding(BindingError { paths })
})??;
if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
recorder.on_client_request(
gaxi::observability::ClientRequestAttributes::default()
.set_rpc_method("google.container.v1.ClusterManager/FetchNodePoolUpgradeInfo")
.set_url_template(_path_template),
);
}
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
}
}