use crate::Result;
#[derive(Clone, Debug)]
pub struct BareMetalSolution<T>
where
T: super::stub::BareMetalSolution + std::fmt::Debug + Send + Sync,
{
inner: T,
duration: gaxi::observability::DurationMetric,
}
impl<T> BareMetalSolution<T>
where
T: super::stub::BareMetalSolution + 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::BareMetalSolution for BareMetalSolution<T>
where
T: super::stub::BareMetalSolution + std::fmt::Debug + Send + Sync,
{
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_instances(
&self,
req: crate::model::ListInstancesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListInstancesResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_instances",
self.inner.list_instances(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_instance(
&self,
req: crate::model::GetInstanceRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Instance>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_instance",
self.inner.get_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_instance(
&self,
req: crate::model::UpdateInstanceRequest,
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::BareMetalSolution::update_instance",
self.inner.update_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn rename_instance(
&self,
req: crate::model::RenameInstanceRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Instance>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::rename_instance",
self.inner.rename_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn reset_instance(
&self,
req: crate::model::ResetInstanceRequest,
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::BareMetalSolution::reset_instance",
self.inner.reset_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn start_instance(
&self,
req: crate::model::StartInstanceRequest,
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::BareMetalSolution::start_instance",
self.inner.start_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn stop_instance(
&self,
req: crate::model::StopInstanceRequest,
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::BareMetalSolution::stop_instance",
self.inner.stop_instance(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn enable_interactive_serial_console(
&self,
req: crate::model::EnableInteractiveSerialConsoleRequest,
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::BareMetalSolution::enable_interactive_serial_console",
self.inner.enable_interactive_serial_console(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn disable_interactive_serial_console(
&self,
req: crate::model::DisableInteractiveSerialConsoleRequest,
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::BareMetalSolution::disable_interactive_serial_console",
self.inner.disable_interactive_serial_console(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn detach_lun(
&self,
req: crate::model::DetachLunRequest,
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::BareMetalSolution::detach_lun",
self.inner.detach_lun(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_ssh_keys(
&self,
req: crate::model::ListSSHKeysRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListSSHKeysResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_ssh_keys",
self.inner.list_ssh_keys(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_ssh_key(
&self,
req: crate::model::CreateSSHKeyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::SSHKey>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::create_ssh_key",
self.inner.create_ssh_key(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_ssh_key(
&self,
req: crate::model::DeleteSSHKeyRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::delete_ssh_key",
self.inner.delete_ssh_key(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_volumes(
&self,
req: crate::model::ListVolumesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListVolumesResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_volumes",
self.inner.list_volumes(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_volume(
&self,
req: crate::model::GetVolumeRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Volume>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_volume",
self.inner.get_volume(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_volume(
&self,
req: crate::model::UpdateVolumeRequest,
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::BareMetalSolution::update_volume",
self.inner.update_volume(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn rename_volume(
&self,
req: crate::model::RenameVolumeRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Volume>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::rename_volume",
self.inner.rename_volume(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn evict_volume(
&self,
req: crate::model::EvictVolumeRequest,
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::BareMetalSolution::evict_volume",
self.inner.evict_volume(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn resize_volume(
&self,
req: crate::model::ResizeVolumeRequest,
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::BareMetalSolution::resize_volume",
self.inner.resize_volume(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_networks(
&self,
req: crate::model::ListNetworksRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListNetworksResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_networks",
self.inner.list_networks(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_network_usage(
&self,
req: crate::model::ListNetworkUsageRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListNetworkUsageResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_network_usage",
self.inner.list_network_usage(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_network(
&self,
req: crate::model::GetNetworkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Network>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_network",
self.inner.get_network(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_network(
&self,
req: crate::model::UpdateNetworkRequest,
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::BareMetalSolution::update_network",
self.inner.update_network(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_volume_snapshot(
&self,
req: crate::model::CreateVolumeSnapshotRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::VolumeSnapshot>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::create_volume_snapshot",
self.inner.create_volume_snapshot(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn restore_volume_snapshot(
&self,
req: crate::model::RestoreVolumeSnapshotRequest,
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::BareMetalSolution::restore_volume_snapshot",
self.inner.restore_volume_snapshot(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_volume_snapshot(
&self,
req: crate::model::DeleteVolumeSnapshotRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<()>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::delete_volume_snapshot",
self.inner.delete_volume_snapshot(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_volume_snapshot(
&self,
req: crate::model::GetVolumeSnapshotRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::VolumeSnapshot>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_volume_snapshot",
self.inner.get_volume_snapshot(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_volume_snapshots(
&self,
req: crate::model::ListVolumeSnapshotsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListVolumeSnapshotsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_volume_snapshots",
self.inner.list_volume_snapshots(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_lun(
&self,
req: crate::model::GetLunRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Lun>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_lun",
self.inner.get_lun(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_luns(
&self,
req: crate::model::ListLunsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListLunsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_luns",
self.inner.list_luns(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn evict_lun(
&self,
req: crate::model::EvictLunRequest,
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::BareMetalSolution::evict_lun",
self.inner.evict_lun(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_nfs_share(
&self,
req: crate::model::GetNfsShareRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::NfsShare>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_nfs_share",
self.inner.get_nfs_share(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_nfs_shares(
&self,
req: crate::model::ListNfsSharesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListNfsSharesResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_nfs_shares",
self.inner.list_nfs_shares(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_nfs_share(
&self,
req: crate::model::UpdateNfsShareRequest,
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::BareMetalSolution::update_nfs_share",
self.inner.update_nfs_share(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_nfs_share(
&self,
req: crate::model::CreateNfsShareRequest,
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::BareMetalSolution::create_nfs_share",
self.inner.create_nfs_share(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn rename_nfs_share(
&self,
req: crate::model::RenameNfsShareRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::NfsShare>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::rename_nfs_share",
self.inner.rename_nfs_share(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn delete_nfs_share(
&self,
req: crate::model::DeleteNfsShareRequest,
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::BareMetalSolution::delete_nfs_share",
self.inner.delete_nfs_share(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_provisioning_quotas(
&self,
req: crate::model::ListProvisioningQuotasRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListProvisioningQuotasResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_provisioning_quotas",
self.inner.list_provisioning_quotas(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn submit_provisioning_config(
&self,
req: crate::model::SubmitProvisioningConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::SubmitProvisioningConfigResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::submit_provisioning_config",
self.inner.submit_provisioning_config(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_provisioning_config(
&self,
req: crate::model::GetProvisioningConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ProvisioningConfig>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_provisioning_config",
self.inner.get_provisioning_config(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn create_provisioning_config(
&self,
req: crate::model::CreateProvisioningConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ProvisioningConfig>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::create_provisioning_config",
self.inner.create_provisioning_config(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn update_provisioning_config(
&self,
req: crate::model::UpdateProvisioningConfigRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ProvisioningConfig>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::update_provisioning_config",
self.inner.update_provisioning_config(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn rename_network(
&self,
req: crate::model::RenameNetworkRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::Network>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::rename_network",
self.inner.rename_network(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_os_images(
&self,
req: crate::model::ListOSImagesRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<crate::model::ListOSImagesResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_os_images",
self.inner.list_os_images(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::list_locations",
self.inner.list_locations(req, options));
pending.await
}
#[tracing::instrument(level = tracing::Level::DEBUG, ret)]
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> Result<crate::Response<google_cloud_location::model::Location>> {
let (_span, pending) = gaxi::client_request_signals!(
metric: self.duration.clone(),
info: *info::INSTRUMENTATION_CLIENT_INFO,
method: "client::BareMetalSolution::get_location",
self.inner.get_location(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::BareMetalSolution::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 = "baremetalsolution";
info.client_version = VERSION;
info.client_artifact = NAME;
info.default_host = "baremetalsolution";
info
});
}