use crate::Result;
#[derive(Clone, Debug)]
pub struct AccessContextManager<T>
where
T: super::stub::AccessContextManager + std::fmt::Debug + Send + Sync,
{
inner: T,
duration: gaxi::observability::DurationMetric,
}
impl<T> AccessContextManager<T>
where
T: super::stub::AccessContextManager + std::fmt::Debug + Send + Sync,
{
pub fn new(inner: T) -> Self {
Self {
inner,
duration: gaxi::observability::DurationMetric::new(&info::INSTRUMENTATION_CLIENT_INFO),
}
}
}
impl<T> super::stub::AccessContextManager for AccessContextManager<T>
where
T: super::stub::AccessContextManager + std::fmt::Debug + Send + Sync,
{
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_access_policies(
&self,
req: crate::model::ListAccessPoliciesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListAccessPoliciesResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::list_access_policies",
self.inner.list_access_policies(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_access_policy(
&self,
req: crate::model::GetAccessPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::AccessPolicy>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_access_policy",
self.inner.get_access_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_access_policy(
&self,
req: crate::model::AccessPolicy,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::create_access_policy",
self.inner.create_access_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_access_policy(
&self,
req: crate::model::UpdateAccessPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::update_access_policy",
self.inner.update_access_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_access_policy(
&self,
req: crate::model::DeleteAccessPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::delete_access_policy",
self.inner.delete_access_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_access_levels(
&self,
req: crate::model::ListAccessLevelsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListAccessLevelsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::list_access_levels",
self.inner.list_access_levels(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_access_level(
&self,
req: crate::model::GetAccessLevelRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::AccessLevel>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_access_level",
self.inner.get_access_level(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_access_level(
&self,
req: crate::model::CreateAccessLevelRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::create_access_level",
self.inner.create_access_level(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_access_level(
&self,
req: crate::model::UpdateAccessLevelRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::update_access_level",
self.inner.update_access_level(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_access_level(
&self,
req: crate::model::DeleteAccessLevelRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::delete_access_level",
self.inner.delete_access_level(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn replace_access_levels(
&self,
req: crate::model::ReplaceAccessLevelsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::replace_access_levels",
self.inner.replace_access_levels(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_service_perimeters(
&self,
req: crate::model::ListServicePerimetersRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListServicePerimetersResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::list_service_perimeters",
self.inner.list_service_perimeters(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_service_perimeter(
&self,
req: crate::model::GetServicePerimeterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ServicePerimeter>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_service_perimeter",
self.inner.get_service_perimeter(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_service_perimeter(
&self,
req: crate::model::CreateServicePerimeterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::create_service_perimeter",
self.inner.create_service_perimeter(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_service_perimeter(
&self,
req: crate::model::UpdateServicePerimeterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::update_service_perimeter",
self.inner.update_service_perimeter(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_service_perimeter(
&self,
req: crate::model::DeleteServicePerimeterRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::delete_service_perimeter",
self.inner.delete_service_perimeter(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn replace_service_perimeters(
&self,
req: crate::model::ReplaceServicePerimetersRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::replace_service_perimeters",
self.inner.replace_service_perimeters(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn commit_service_perimeters(
&self,
req: crate::model::CommitServicePerimetersRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::commit_service_perimeters",
self.inner.commit_service_perimeters(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_gcp_user_access_bindings(
&self,
req: crate::model::ListGcpUserAccessBindingsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListGcpUserAccessBindingsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::list_gcp_user_access_bindings",
self.inner.list_gcp_user_access_bindings(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_gcp_user_access_binding(
&self,
req: crate::model::GetGcpUserAccessBindingRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::GcpUserAccessBinding>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_gcp_user_access_binding",
self.inner.get_gcp_user_access_binding(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_gcp_user_access_binding(
&self,
req: crate::model::CreateGcpUserAccessBindingRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::create_gcp_user_access_binding",
self.inner.create_gcp_user_access_binding(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_gcp_user_access_binding(
&self,
req: crate::model::UpdateGcpUserAccessBindingRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::update_gcp_user_access_binding",
self.inner.update_gcp_user_access_binding(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_gcp_user_access_binding(
&self,
req: crate::model::DeleteGcpUserAccessBindingRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::delete_gcp_user_access_binding",
self.inner.delete_gcp_user_access_binding(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::set_iam_policy",
self.inner.set_iam_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_iam_policy",
self.inner.get_iam_policy(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::test_iam_permissions",
self.inner.test_iam_permissions(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::AccessContextManager::get_operation",
self.inner.get_operation(req, options));
pending.await
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
self.inner.get_polling_error_policy(options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
self.inner.get_polling_backoff_policy(options)
}
}
pub(crate) mod info {
const NAME: &str = env!("CARGO_PKG_NAME");
const VERSION: &str = env!("CARGO_PKG_VERSION");
pub(crate) static INSTRUMENTATION_CLIENT_INFO: std::sync::LazyLock<
gaxi::options::InstrumentationClientInfo,
> = std::sync::LazyLock::new(|| {
let mut info = gaxi::options::InstrumentationClientInfo::default();
info.service_name = "accesscontextmanager";
info.client_version = VERSION;
info.client_artifact = NAME;
info.default_host = "accesscontextmanager";
info
});
}