#![allow(rustdoc::redundant_explicit_links)]
#![allow(rustdoc::broken_intra_doc_links)]
#[derive(Clone, Debug)]
pub struct BareMetalSolution {
inner: std::sync::Arc<dyn super::stub::dynamic::BareMetalSolution>,
}
impl BareMetalSolution {
pub fn builder() -> super::builder::bare_metal_solution::ClientBuilder {
crate::new_client_builder(super::builder::bare_metal_solution::client::Factory)
}
pub fn from_stub<T>(stub: T) -> Self
where
T: super::stub::BareMetalSolution + 'static,
{
Self {
inner: std::sync::Arc::new(stub),
}
}
pub(crate) async fn new(
config: gaxi::options::ClientConfig,
) -> crate::ClientBuilderResult<Self> {
let inner = Self::build_inner(config).await?;
Ok(Self { inner })
}
async fn build_inner(
conf: gaxi::options::ClientConfig,
) -> crate::ClientBuilderResult<std::sync::Arc<dyn super::stub::dynamic::BareMetalSolution>>
{
if gaxi::options::tracing_enabled(&conf) {
return Ok(std::sync::Arc::new(Self::build_with_tracing(conf).await?));
}
Ok(std::sync::Arc::new(Self::build_transport(conf).await?))
}
async fn build_transport(
conf: gaxi::options::ClientConfig,
) -> crate::ClientBuilderResult<impl super::stub::BareMetalSolution> {
super::transport::BareMetalSolution::new(conf).await
}
async fn build_with_tracing(
conf: gaxi::options::ClientConfig,
) -> crate::ClientBuilderResult<impl super::stub::BareMetalSolution> {
Self::build_transport(conf)
.await
.map(super::tracing::BareMetalSolution::new)
}
pub fn list_instances(&self) -> super::builder::bare_metal_solution::ListInstances {
super::builder::bare_metal_solution::ListInstances::new(self.inner.clone())
}
pub fn get_instance(&self) -> super::builder::bare_metal_solution::GetInstance {
super::builder::bare_metal_solution::GetInstance::new(self.inner.clone())
}
pub fn update_instance(&self) -> super::builder::bare_metal_solution::UpdateInstance {
super::builder::bare_metal_solution::UpdateInstance::new(self.inner.clone())
}
pub fn rename_instance(&self) -> super::builder::bare_metal_solution::RenameInstance {
super::builder::bare_metal_solution::RenameInstance::new(self.inner.clone())
}
pub fn reset_instance(&self) -> super::builder::bare_metal_solution::ResetInstance {
super::builder::bare_metal_solution::ResetInstance::new(self.inner.clone())
}
pub fn start_instance(&self) -> super::builder::bare_metal_solution::StartInstance {
super::builder::bare_metal_solution::StartInstance::new(self.inner.clone())
}
pub fn stop_instance(&self) -> super::builder::bare_metal_solution::StopInstance {
super::builder::bare_metal_solution::StopInstance::new(self.inner.clone())
}
pub fn enable_interactive_serial_console(
&self,
) -> super::builder::bare_metal_solution::EnableInteractiveSerialConsole {
super::builder::bare_metal_solution::EnableInteractiveSerialConsole::new(self.inner.clone())
}
pub fn disable_interactive_serial_console(
&self,
) -> super::builder::bare_metal_solution::DisableInteractiveSerialConsole {
super::builder::bare_metal_solution::DisableInteractiveSerialConsole::new(
self.inner.clone(),
)
}
pub fn detach_lun(&self) -> super::builder::bare_metal_solution::DetachLun {
super::builder::bare_metal_solution::DetachLun::new(self.inner.clone())
}
pub fn list_ssh_keys(&self) -> super::builder::bare_metal_solution::ListSSHKeys {
super::builder::bare_metal_solution::ListSSHKeys::new(self.inner.clone())
}
pub fn create_ssh_key(&self) -> super::builder::bare_metal_solution::CreateSSHKey {
super::builder::bare_metal_solution::CreateSSHKey::new(self.inner.clone())
}
pub fn delete_ssh_key(&self) -> super::builder::bare_metal_solution::DeleteSSHKey {
super::builder::bare_metal_solution::DeleteSSHKey::new(self.inner.clone())
}
pub fn list_volumes(&self) -> super::builder::bare_metal_solution::ListVolumes {
super::builder::bare_metal_solution::ListVolumes::new(self.inner.clone())
}
pub fn get_volume(&self) -> super::builder::bare_metal_solution::GetVolume {
super::builder::bare_metal_solution::GetVolume::new(self.inner.clone())
}
pub fn update_volume(&self) -> super::builder::bare_metal_solution::UpdateVolume {
super::builder::bare_metal_solution::UpdateVolume::new(self.inner.clone())
}
pub fn rename_volume(&self) -> super::builder::bare_metal_solution::RenameVolume {
super::builder::bare_metal_solution::RenameVolume::new(self.inner.clone())
}
pub fn evict_volume(&self) -> super::builder::bare_metal_solution::EvictVolume {
super::builder::bare_metal_solution::EvictVolume::new(self.inner.clone())
}
pub fn resize_volume(&self) -> super::builder::bare_metal_solution::ResizeVolume {
super::builder::bare_metal_solution::ResizeVolume::new(self.inner.clone())
}
pub fn list_networks(&self) -> super::builder::bare_metal_solution::ListNetworks {
super::builder::bare_metal_solution::ListNetworks::new(self.inner.clone())
}
pub fn list_network_usage(&self) -> super::builder::bare_metal_solution::ListNetworkUsage {
super::builder::bare_metal_solution::ListNetworkUsage::new(self.inner.clone())
}
pub fn get_network(&self) -> super::builder::bare_metal_solution::GetNetwork {
super::builder::bare_metal_solution::GetNetwork::new(self.inner.clone())
}
pub fn update_network(&self) -> super::builder::bare_metal_solution::UpdateNetwork {
super::builder::bare_metal_solution::UpdateNetwork::new(self.inner.clone())
}
pub fn create_volume_snapshot(
&self,
) -> super::builder::bare_metal_solution::CreateVolumeSnapshot {
super::builder::bare_metal_solution::CreateVolumeSnapshot::new(self.inner.clone())
}
pub fn restore_volume_snapshot(
&self,
) -> super::builder::bare_metal_solution::RestoreVolumeSnapshot {
super::builder::bare_metal_solution::RestoreVolumeSnapshot::new(self.inner.clone())
}
pub fn delete_volume_snapshot(
&self,
) -> super::builder::bare_metal_solution::DeleteVolumeSnapshot {
super::builder::bare_metal_solution::DeleteVolumeSnapshot::new(self.inner.clone())
}
pub fn get_volume_snapshot(&self) -> super::builder::bare_metal_solution::GetVolumeSnapshot {
super::builder::bare_metal_solution::GetVolumeSnapshot::new(self.inner.clone())
}
pub fn list_volume_snapshots(
&self,
) -> super::builder::bare_metal_solution::ListVolumeSnapshots {
super::builder::bare_metal_solution::ListVolumeSnapshots::new(self.inner.clone())
}
pub fn get_lun(&self) -> super::builder::bare_metal_solution::GetLun {
super::builder::bare_metal_solution::GetLun::new(self.inner.clone())
}
pub fn list_luns(&self) -> super::builder::bare_metal_solution::ListLuns {
super::builder::bare_metal_solution::ListLuns::new(self.inner.clone())
}
pub fn evict_lun(&self) -> super::builder::bare_metal_solution::EvictLun {
super::builder::bare_metal_solution::EvictLun::new(self.inner.clone())
}
pub fn get_nfs_share(&self) -> super::builder::bare_metal_solution::GetNfsShare {
super::builder::bare_metal_solution::GetNfsShare::new(self.inner.clone())
}
pub fn list_nfs_shares(&self) -> super::builder::bare_metal_solution::ListNfsShares {
super::builder::bare_metal_solution::ListNfsShares::new(self.inner.clone())
}
pub fn update_nfs_share(&self) -> super::builder::bare_metal_solution::UpdateNfsShare {
super::builder::bare_metal_solution::UpdateNfsShare::new(self.inner.clone())
}
pub fn create_nfs_share(&self) -> super::builder::bare_metal_solution::CreateNfsShare {
super::builder::bare_metal_solution::CreateNfsShare::new(self.inner.clone())
}
pub fn rename_nfs_share(&self) -> super::builder::bare_metal_solution::RenameNfsShare {
super::builder::bare_metal_solution::RenameNfsShare::new(self.inner.clone())
}
pub fn delete_nfs_share(&self) -> super::builder::bare_metal_solution::DeleteNfsShare {
super::builder::bare_metal_solution::DeleteNfsShare::new(self.inner.clone())
}
pub fn list_provisioning_quotas(
&self,
) -> super::builder::bare_metal_solution::ListProvisioningQuotas {
super::builder::bare_metal_solution::ListProvisioningQuotas::new(self.inner.clone())
}
pub fn submit_provisioning_config(
&self,
) -> super::builder::bare_metal_solution::SubmitProvisioningConfig {
super::builder::bare_metal_solution::SubmitProvisioningConfig::new(self.inner.clone())
}
pub fn get_provisioning_config(
&self,
) -> super::builder::bare_metal_solution::GetProvisioningConfig {
super::builder::bare_metal_solution::GetProvisioningConfig::new(self.inner.clone())
}
pub fn create_provisioning_config(
&self,
) -> super::builder::bare_metal_solution::CreateProvisioningConfig {
super::builder::bare_metal_solution::CreateProvisioningConfig::new(self.inner.clone())
}
pub fn update_provisioning_config(
&self,
) -> super::builder::bare_metal_solution::UpdateProvisioningConfig {
super::builder::bare_metal_solution::UpdateProvisioningConfig::new(self.inner.clone())
}
pub fn rename_network(&self) -> super::builder::bare_metal_solution::RenameNetwork {
super::builder::bare_metal_solution::RenameNetwork::new(self.inner.clone())
}
pub fn list_os_images(&self) -> super::builder::bare_metal_solution::ListOSImages {
super::builder::bare_metal_solution::ListOSImages::new(self.inner.clone())
}
pub fn list_locations(&self) -> super::builder::bare_metal_solution::ListLocations {
super::builder::bare_metal_solution::ListLocations::new(self.inner.clone())
}
pub fn get_location(&self) -> super::builder::bare_metal_solution::GetLocation {
super::builder::bare_metal_solution::GetLocation::new(self.inner.clone())
}
pub fn get_operation(&self) -> super::builder::bare_metal_solution::GetOperation {
super::builder::bare_metal_solution::GetOperation::new(self.inner.clone())
}
}