StorageControl

Struct StorageControl 

Source
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 or projects/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

Source

pub fn builder() -> ClientBuilder

Returns a builder for StorageControl.

let client = StorageControl::builder().build().await?;
Source

pub fn delete_bucket(&self) -> DeleteBucket

Permanently deletes an empty bucket.

Source

pub fn get_bucket(&self) -> GetBucket

Returns metadata for the specified bucket.

Source

pub fn create_bucket(&self) -> CreateBucket

Creates a new bucket.

Source

pub fn list_buckets(&self) -> ListBuckets

Retrieves a list of buckets for a given project.

Source

pub fn lock_bucket_retention_policy(&self) -> LockBucketRetentionPolicy

Locks retention policy on a bucket.

Source

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.

Source

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.

Source

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.

Source

pub fn update_bucket(&self) -> UpdateBucket

Updates a bucket. Equivalent to JSON API’s storage.buckets.patch method.

Source

pub fn compose_object(&self) -> ComposeObject

Concatenates a list of existing objects into a new object in the same bucket.

Source

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.

Source

pub fn restore_object(&self) -> RestoreObject

Restores a soft-deleted object.

Source

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.

Source

pub fn update_object(&self) -> UpdateObject

Updates an object’s metadata. Equivalent to JSON API’s storage.objects.patch.

Source

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.

Source

pub fn rewrite_object(&self) -> RewriteObject

Rewrites a source object to a destination object. Optionally overrides metadata.

Source

pub fn move_object(&self) -> MoveObject

Moves the source object to the destination object in the same bucket.

Source

pub fn create_folder(&self) -> CreateFolder

Creates a new folder. This operation is only applicable to a hierarchical namespace enabled bucket.

Source

pub fn delete_folder(&self) -> DeleteFolder

Permanently deletes an empty folder. This operation is only applicable to a hierarchical namespace enabled bucket.

Source

pub fn get_folder(&self) -> GetFolder

Returns metadata for the specified folder. This operation is only applicable to a hierarchical namespace enabled bucket.

Source

pub fn list_folders(&self) -> ListFolders

Retrieves a list of folders. This operation is only applicable to a hierarchical namespace enabled bucket.

Source

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.

Source

pub fn get_storage_layout(&self) -> GetStorageLayout

Returns the storage layout configuration for a given bucket.

Source

pub fn create_managed_folder(&self) -> CreateManagedFolder

Creates a new managed folder.

Source

pub fn delete_managed_folder(&self) -> DeleteManagedFolder

Permanently deletes an empty managed folder.

Source

pub fn get_managed_folder(&self) -> GetManagedFolder

Returns metadata for the specified managed folder.

Source

pub fn list_managed_folders(&self) -> ListManagedFolders

Retrieves a list of managed folders for a given bucket.

Source

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.

Source

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.

Source

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.

Source

pub fn pause_anywhere_cache(&self) -> PauseAnywhereCache

Pauses an Anywhere Cache instance.

Source

pub fn resume_anywhere_cache(&self) -> ResumeAnywhereCache

Resumes a disabled or paused Anywhere Cache instance.

Source

pub fn get_anywhere_cache(&self) -> GetAnywhereCache

Gets an Anywhere Cache instance.

Source

pub fn list_anywhere_caches(&self) -> ListAnywhereCaches

Lists Anywhere Cache instances for a given bucket.

Source

pub fn get_project_intelligence_config(&self) -> GetProjectIntelligenceConfig

Returns the Project scoped singleton IntelligenceConfig resource.

Source

pub fn update_project_intelligence_config( &self, ) -> UpdateProjectIntelligenceConfig

Updates the Project scoped singleton IntelligenceConfig resource.

Source

pub fn get_folder_intelligence_config(&self) -> GetFolderIntelligenceConfig

Returns the Folder scoped singleton IntelligenceConfig resource.

Source

pub fn update_folder_intelligence_config( &self, ) -> UpdateFolderIntelligenceConfig

Updates the Folder scoped singleton IntelligenceConfig resource.

Source

pub fn get_organization_intelligence_config( &self, ) -> GetOrganizationIntelligenceConfig

Returns the Organization scoped singleton IntelligenceConfig resource.

Source

pub fn update_organization_intelligence_config( &self, ) -> UpdateOrganizationIntelligenceConfig

Updates the Organization scoped singleton IntelligenceConfig resource.

Source

pub fn get_operation(&self) -> GetOperation

Provides the Operations service functionality in this service.

Source

pub fn from_stub<T>(stub: T) -> Self
where 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

Source§

fn clone(&self) -> StorageControl

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StorageControl

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,