#[derive(Clone, Debug)]
pub struct StorageControl {
storage: crate::generated::gapic::client::StorageControl,
control: crate::generated::gapic_control::client::StorageControl,
}
impl StorageControl {
pub fn builder() -> ClientBuilder {
gax::client_builder::internal::new_builder(client_builder::Factory)
}
pub fn delete_bucket(&self) -> crate::builder::storage_control::DeleteBucket {
self.storage.delete_bucket()
}
pub fn get_bucket(&self) -> crate::builder::storage_control::GetBucket {
self.storage.get_bucket()
}
pub fn create_bucket(&self) -> crate::builder::storage_control::CreateBucket {
self.storage.create_bucket()
}
pub fn list_buckets(&self) -> crate::builder::storage_control::ListBuckets {
self.storage.list_buckets()
}
pub fn lock_bucket_retention_policy(
&self,
) -> crate::builder::storage_control::LockBucketRetentionPolicy {
self.storage.lock_bucket_retention_policy()
}
pub fn get_iam_policy(&self) -> crate::builder::storage_control::GetIamPolicy {
self.storage.get_iam_policy()
}
pub fn set_iam_policy(&self) -> crate::builder::storage_control::SetIamPolicy {
self.storage.set_iam_policy()
}
pub fn test_iam_permissions(&self) -> crate::builder::storage_control::TestIamPermissions {
self.storage.test_iam_permissions()
}
pub fn update_bucket(&self) -> crate::builder::storage_control::UpdateBucket {
self.storage.update_bucket()
}
pub fn compose_object(&self) -> crate::builder::storage_control::ComposeObject {
self.storage.compose_object()
}
pub fn delete_object(&self) -> crate::builder::storage_control::DeleteObject {
self.storage.delete_object()
}
pub fn restore_object(&self) -> crate::builder::storage_control::RestoreObject {
self.storage.restore_object()
}
pub fn get_object(&self) -> crate::builder::storage_control::GetObject {
self.storage.get_object()
}
pub fn update_object(&self) -> crate::builder::storage_control::UpdateObject {
self.storage.update_object()
}
pub fn list_objects(&self) -> crate::builder::storage_control::ListObjects {
self.storage.list_objects()
}
pub fn rewrite_object(&self) -> crate::builder::storage_control::RewriteObject {
self.storage.rewrite_object()
}
pub fn move_object(&self) -> crate::builder::storage_control::MoveObject {
self.storage.move_object()
}
pub fn create_folder(&self) -> crate::builder::storage_control::CreateFolder {
self.control.create_folder()
}
pub fn delete_folder(&self) -> crate::builder::storage_control::DeleteFolder {
self.control.delete_folder()
}
pub fn get_folder(&self) -> crate::builder::storage_control::GetFolder {
self.control.get_folder()
}
pub fn list_folders(&self) -> crate::builder::storage_control::ListFolders {
self.control.list_folders()
}
pub fn rename_folder(&self) -> crate::builder::storage_control::RenameFolder {
self.control.rename_folder()
}
pub fn get_storage_layout(&self) -> crate::builder::storage_control::GetStorageLayout {
self.control.get_storage_layout()
}
pub fn create_managed_folder(&self) -> crate::builder::storage_control::CreateManagedFolder {
self.control.create_managed_folder()
}
pub fn delete_managed_folder(&self) -> crate::builder::storage_control::DeleteManagedFolder {
self.control.delete_managed_folder()
}
pub fn get_managed_folder(&self) -> crate::builder::storage_control::GetManagedFolder {
self.control.get_managed_folder()
}
pub fn list_managed_folders(&self) -> crate::builder::storage_control::ListManagedFolders {
self.control.list_managed_folders()
}
pub fn create_anywhere_cache(&self) -> crate::builder::storage_control::CreateAnywhereCache {
self.control.create_anywhere_cache()
}
pub fn update_anywhere_cache(&self) -> crate::builder::storage_control::UpdateAnywhereCache {
self.control.update_anywhere_cache()
}
pub fn disable_anywhere_cache(&self) -> crate::builder::storage_control::DisableAnywhereCache {
self.control.disable_anywhere_cache()
}
pub fn pause_anywhere_cache(&self) -> crate::builder::storage_control::PauseAnywhereCache {
self.control.pause_anywhere_cache()
}
pub fn resume_anywhere_cache(&self) -> crate::builder::storage_control::ResumeAnywhereCache {
self.control.resume_anywhere_cache()
}
pub fn get_anywhere_cache(&self) -> crate::builder::storage_control::GetAnywhereCache {
self.control.get_anywhere_cache()
}
pub fn list_anywhere_caches(&self) -> crate::builder::storage_control::ListAnywhereCaches {
self.control.list_anywhere_caches()
}
pub fn get_project_intelligence_config(
&self,
) -> crate::builder::storage_control::GetProjectIntelligenceConfig {
self.control.get_project_intelligence_config()
}
pub fn update_project_intelligence_config(
&self,
) -> crate::builder::storage_control::UpdateProjectIntelligenceConfig {
self.control.update_project_intelligence_config()
}
pub fn get_folder_intelligence_config(
&self,
) -> crate::builder::storage_control::GetFolderIntelligenceConfig {
self.control.get_folder_intelligence_config()
}
pub fn update_folder_intelligence_config(
&self,
) -> crate::builder::storage_control::UpdateFolderIntelligenceConfig {
self.control.update_folder_intelligence_config()
}
pub fn get_organization_intelligence_config(
&self,
) -> crate::builder::storage_control::GetOrganizationIntelligenceConfig {
self.control.get_organization_intelligence_config()
}
pub fn update_organization_intelligence_config(
&self,
) -> crate::builder::storage_control::UpdateOrganizationIntelligenceConfig {
self.control.update_organization_intelligence_config()
}
pub fn get_operation(&self) -> crate::builder::storage_control::GetOperation {
self.control.get_operation()
}
pub fn from_stub<T>(stub: T) -> Self
where
T: super::stub::StorageControl + 'static,
{
let stub = std::sync::Arc::new(stub);
Self {
storage: crate::generated::gapic::client::StorageControl::from_stub(stub.clone()),
control: crate::generated::gapic_control::client::StorageControl::from_stub(stub),
}
}
pub(crate) async fn new(
config: gaxi::options::ClientConfig,
) -> gax::client_builder::Result<Self> {
let storage = crate::generated::gapic::client::StorageControl::new(config.clone()).await?;
let control = crate::generated::gapic_control::client::StorageControl::new(config).await?;
Ok(Self { storage, control })
}
}
pub type ClientBuilder =
gax::client_builder::ClientBuilder<client_builder::Factory, gaxi::options::Credentials>;
pub(crate) mod client_builder {
use super::StorageControl;
pub struct Factory;
impl gax::client_builder::internal::ClientFactory for Factory {
type Client = StorageControl;
type Credentials = gaxi::options::Credentials;
async fn build(
self,
config: gaxi::options::ClientConfig,
) -> gax::client_builder::Result<Self::Client> {
Self::Client::new(config).await
}
}
}
#[cfg(test)]
mod tests {
use super::StorageControl;
#[tokio::test]
async fn builder() -> anyhow::Result<()> {
let _ = StorageControl::builder()
.with_credentials(auth::credentials::testing::test_credentials())
.build()
.await?;
Ok(())
}
}