pub struct StorageControl { /* private fields */ }
Expand description
Implements a client for the Cloud Storage API.
§Example
let client = StorageControl::builder().build().await?;
// use `client` to make requests to Cloud Storage.
§Configuration
To configure StorageControl
use the with_*
methods in the type returned
by builder(). The default configuration should
work for most applications. Common configuration changes include
- with_endpoint(): by default this client uses the global default endpoint
(
https://storage.googleapis.com
). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default. - with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.
§Pooling and Cloning
StorageControl
holds a connection pool internally, it is advised to
create one and the reuse it. You do not need to wrap StorageControl
in
an Rc or Arc to reuse it, because it
already uses an Arc
internally.
§Service Description
The Cloud Storage API allows applications to read and write data through the abstractions of buckets and objects. For a description of these abstractions please see https://cloud.google.com/storage/docs.
This client is used to perform metadata operations, such as creating buckets, deleting objects, listing objects, etc. It does not expose any functions to write or read data in objects.
Resources are named as follows:
-
Projects are referred to as they are defined by the Resource Manager API, using strings like
projects/123456
orprojects/my-string-id
. -
Buckets are named using string names of the form:
projects/{project}/buckets/{bucket}
For globally unique buckets,_
may be substituted for the project. -
Objects are uniquely identified by their name along with the name of the bucket they belong to, as separate strings in this API. For example:
bucket = "projects/_/buckets/my-bucket" object = "my-object/with/a/folder-like/name"
Note that object names can contain
/
characters, which are treated as any other character (no special directory semantics).
Implementations§
Source§impl StorageControl
impl StorageControl
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for StorageControl.
let client = StorageControl::builder().build().await?;
Sourcepub fn delete_bucket(&self) -> DeleteBucket
pub fn delete_bucket(&self) -> DeleteBucket
Permanently deletes an empty bucket.
Sourcepub fn get_bucket(&self) -> GetBucket
pub fn get_bucket(&self) -> GetBucket
Returns metadata for the specified bucket.
Sourcepub fn create_bucket(&self) -> CreateBucket
pub fn create_bucket(&self) -> CreateBucket
Creates a new bucket.
Sourcepub fn list_buckets(&self) -> ListBuckets
pub fn list_buckets(&self) -> ListBuckets
Retrieves a list of buckets for a given project.
Sourcepub fn lock_bucket_retention_policy(&self) -> LockBucketRetentionPolicy
pub fn lock_bucket_retention_policy(&self) -> LockBucketRetentionPolicy
Locks retention policy on a bucket.
Sourcepub fn get_iam_policy(&self) -> GetIamPolicy
pub fn get_iam_policy(&self) -> GetIamPolicy
Gets the IAM policy for a specified bucket.
The resource
field in the request should be
projects/_/buckets/{bucket}
for a bucket, or
projects/_/buckets/{bucket}/managedFolders/{managedFolder}
for a managed folder.
Sourcepub fn set_iam_policy(&self) -> SetIamPolicy
pub fn set_iam_policy(&self) -> SetIamPolicy
Updates an IAM policy for the specified bucket.
The resource
field in the request should be
projects/_/buckets/{bucket}
for a bucket, or
projects/_/buckets/{bucket}/managedFolders/{managedFolder}
for a managed folder.
Sourcepub fn test_iam_permissions(&self) -> TestIamPermissions
pub fn test_iam_permissions(&self) -> TestIamPermissions
Tests a set of permissions on the given bucket, object, or managed folder
to see which, if any, are held by the caller.
The resource
field in the request should be
projects/_/buckets/{bucket}
for a bucket,
projects/_/buckets/{bucket}/objects/{object}
for an object, or
projects/_/buckets/{bucket}/managedFolders/{managedFolder}
for a managed folder.
Sourcepub fn update_bucket(&self) -> UpdateBucket
pub fn update_bucket(&self) -> UpdateBucket
Updates a bucket. Equivalent to JSON API’s storage.buckets.patch method.
Sourcepub fn compose_object(&self) -> ComposeObject
pub fn compose_object(&self) -> ComposeObject
Concatenates a list of existing objects into a new object in the same bucket.
Sourcepub fn delete_object(&self) -> DeleteObject
pub fn delete_object(&self) -> DeleteObject
Deletes an object and its metadata. Deletions are permanent if versioning
is not enabled for the bucket, or if the generation parameter is used, or
if soft delete is not
enabled for the bucket.
When this API is used to delete an object from a bucket that has soft
delete policy enabled, the object becomes soft deleted, and the
softDeleteTime
and hardDeleteTime
properties are set on the object.
This API cannot be used to permanently delete soft-deleted objects.
Soft-deleted objects are permanently deleted according to their
hardDeleteTime
.
You can use the RestoreObject
API to restore soft-deleted objects until the soft delete retention period
has passed.
IAM Permissions:
Requires storage.objects.delete
IAM permission on
the bucket.
Sourcepub fn restore_object(&self) -> RestoreObject
pub fn restore_object(&self) -> RestoreObject
Restores a soft-deleted object.
Sourcepub fn get_object(&self) -> GetObject
pub fn get_object(&self) -> GetObject
Retrieves object metadata.
IAM Permissions:
Requires storage.objects.get
IAM permission on
the bucket. To return object ACLs, the authenticated user must also have
the storage.objects.getIamPolicy
permission.
Sourcepub fn update_object(&self) -> UpdateObject
pub fn update_object(&self) -> UpdateObject
Updates an object’s metadata. Equivalent to JSON API’s storage.objects.patch.
Sourcepub fn list_objects(&self) -> ListObjects
pub fn list_objects(&self) -> ListObjects
Retrieves a list of objects matching the criteria.
IAM Permissions:
The authenticated user requires storage.objects.list
IAM permission
to use this method. To return object ACLs, the authenticated user must also
have the storage.objects.getIamPolicy
permission.
Sourcepub fn rewrite_object(&self) -> RewriteObject
pub fn rewrite_object(&self) -> RewriteObject
Rewrites a source object to a destination object. Optionally overrides metadata.
Sourcepub fn move_object(&self) -> MoveObject
pub fn move_object(&self) -> MoveObject
Moves the source object to the destination object in the same bucket.
Sourcepub fn create_folder(&self) -> CreateFolder
pub fn create_folder(&self) -> CreateFolder
Creates a new folder. This operation is only applicable to a hierarchical namespace enabled bucket.
Sourcepub fn delete_folder(&self) -> DeleteFolder
pub fn delete_folder(&self) -> DeleteFolder
Permanently deletes an empty folder. This operation is only applicable to a hierarchical namespace enabled bucket.
Sourcepub fn get_folder(&self) -> GetFolder
pub fn get_folder(&self) -> GetFolder
Returns metadata for the specified folder. This operation is only applicable to a hierarchical namespace enabled bucket.
Sourcepub fn list_folders(&self) -> ListFolders
pub fn list_folders(&self) -> ListFolders
Retrieves a list of folders. This operation is only applicable to a hierarchical namespace enabled bucket.
Sourcepub fn rename_folder(&self) -> RenameFolder
pub fn rename_folder(&self) -> RenameFolder
Renames a source folder to a destination folder. This operation is only applicable to a hierarchical namespace enabled bucket. During a rename, the source and destination folders are locked until the long running operation completes.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn get_storage_layout(&self) -> GetStorageLayout
pub fn get_storage_layout(&self) -> GetStorageLayout
Returns the storage layout configuration for a given bucket.
Sourcepub fn create_managed_folder(&self) -> CreateManagedFolder
pub fn create_managed_folder(&self) -> CreateManagedFolder
Creates a new managed folder.
Sourcepub fn delete_managed_folder(&self) -> DeleteManagedFolder
pub fn delete_managed_folder(&self) -> DeleteManagedFolder
Permanently deletes an empty managed folder.
Sourcepub fn get_managed_folder(&self) -> GetManagedFolder
pub fn get_managed_folder(&self) -> GetManagedFolder
Returns metadata for the specified managed folder.
Sourcepub fn list_managed_folders(&self) -> ListManagedFolders
pub fn list_managed_folders(&self) -> ListManagedFolders
Retrieves a list of managed folders for a given bucket.
Sourcepub fn create_anywhere_cache(&self) -> CreateAnywhereCache
pub fn create_anywhere_cache(&self) -> CreateAnywhereCache
Creates an Anywhere Cache instance.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn update_anywhere_cache(&self) -> UpdateAnywhereCache
pub fn update_anywhere_cache(&self) -> UpdateAnywhereCache
Updates an Anywhere Cache instance. Mutable fields include ttl
and
admission_policy
.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn disable_anywhere_cache(&self) -> DisableAnywhereCache
pub fn disable_anywhere_cache(&self) -> DisableAnywhereCache
Disables an Anywhere Cache instance. A disabled instance is read-only. The disablement could be revoked by calling ResumeAnywhereCache. The cache instance will be deleted automatically if it remains in the disabled state for at least one hour.
Sourcepub fn pause_anywhere_cache(&self) -> PauseAnywhereCache
pub fn pause_anywhere_cache(&self) -> PauseAnywhereCache
Pauses an Anywhere Cache instance.
Sourcepub fn resume_anywhere_cache(&self) -> ResumeAnywhereCache
pub fn resume_anywhere_cache(&self) -> ResumeAnywhereCache
Resumes a disabled or paused Anywhere Cache instance.
Sourcepub fn get_anywhere_cache(&self) -> GetAnywhereCache
pub fn get_anywhere_cache(&self) -> GetAnywhereCache
Gets an Anywhere Cache instance.
Sourcepub fn list_anywhere_caches(&self) -> ListAnywhereCaches
pub fn list_anywhere_caches(&self) -> ListAnywhereCaches
Lists Anywhere Cache instances for a given bucket.
Sourcepub fn get_project_intelligence_config(&self) -> GetProjectIntelligenceConfig
pub fn get_project_intelligence_config(&self) -> GetProjectIntelligenceConfig
Returns the Project scoped singleton IntelligenceConfig resource.
Sourcepub fn update_project_intelligence_config(
&self,
) -> UpdateProjectIntelligenceConfig
pub fn update_project_intelligence_config( &self, ) -> UpdateProjectIntelligenceConfig
Updates the Project scoped singleton IntelligenceConfig resource.
Sourcepub fn get_folder_intelligence_config(&self) -> GetFolderIntelligenceConfig
pub fn get_folder_intelligence_config(&self) -> GetFolderIntelligenceConfig
Returns the Folder scoped singleton IntelligenceConfig resource.
Sourcepub fn update_folder_intelligence_config(
&self,
) -> UpdateFolderIntelligenceConfig
pub fn update_folder_intelligence_config( &self, ) -> UpdateFolderIntelligenceConfig
Updates the Folder scoped singleton IntelligenceConfig resource.
Sourcepub fn get_organization_intelligence_config(
&self,
) -> GetOrganizationIntelligenceConfig
pub fn get_organization_intelligence_config( &self, ) -> GetOrganizationIntelligenceConfig
Returns the Organization scoped singleton IntelligenceConfig resource.
Sourcepub fn update_organization_intelligence_config(
&self,
) -> UpdateOrganizationIntelligenceConfig
pub fn update_organization_intelligence_config( &self, ) -> UpdateOrganizationIntelligenceConfig
Updates the Organization scoped singleton IntelligenceConfig resource.
Sourcepub fn get_operation(&self) -> GetOperation
pub fn get_operation(&self) -> GetOperation
Provides the Operations service functionality in this service.
Sourcepub fn from_stub<T>(stub: T) -> Selfwhere
T: StorageControl + 'static,
pub fn from_stub<T>(stub: T) -> Selfwhere
T: StorageControl + 'static,
Creates a new client from the provided stub.
The most common case for calling this function is in tests mocking the client’s behavior.
Trait Implementations§
Source§impl Clone for StorageControl
impl Clone for StorageControl
Source§fn clone(&self) -> StorageControl
fn clone(&self) -> StorageControl
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for StorageControl
impl !RefUnwindSafe for StorageControl
impl Send for StorageControl
impl Sync for StorageControl
impl Unpin for StorageControl
impl !UnwindSafe for StorageControl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request