pub struct Bucket {
Show 27 fields pub acl: Vec<BucketAccessControl>, pub default_object_acl: Vec<ObjectAccessControl>, pub lifecycle: Option<Lifecycle>, pub time_created: Option<Timestamp>, pub id: String, pub name: String, pub project_number: i64, pub metageneration: i64, pub cors: Vec<Cors>, pub location: String, pub storage_class: String, pub etag: String, pub updated: Option<Timestamp>, pub default_event_based_hold: bool, pub labels: BTreeMap<String, String>, pub website: Option<Website>, pub versioning: Option<Versioning>, pub logging: Option<Logging>, pub owner: Option<Owner>, pub encryption: Option<Encryption>, pub billing: Option<Billing>, pub retention_policy: Option<RetentionPolicy>, pub location_type: String, pub iam_configuration: Option<IamConfiguration>, pub zone_affinity: Vec<String>, pub satisfies_pzs: bool, pub autoclass: Option<Autoclass>,
}
Expand description

A bucket.

Fields§

§acl: Vec<BucketAccessControl>

Access controls on the bucket.

§default_object_acl: Vec<ObjectAccessControl>

Default access controls to apply to new objects when no ACL is provided.

§lifecycle: Option<Lifecycle>

The bucket’s lifecycle configuration. See [https://developers.google.com/storage/docs/lifecycle\]Lifecycle Management] for more information.

§time_created: Option<Timestamp>

The creation time of the bucket in [https://tools.ietf.org/html/rfc3339][RFC 3339] format. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§id: String

The ID of the bucket. For buckets, the id and name properties are the same. Attempting to update this field after the bucket is created will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§name: String

The name of the bucket. Attempting to update this field after the bucket is created will result in an error.

§project_number: i64

The project number of the project the bucket belongs to. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§metageneration: i64

The metadata generation of this bucket. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§cors: Vec<Cors>

The bucket’s [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing] (CORS) configuration.

§location: String

The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's guide] for the authoritative list. Attempting to update this field after the bucket is created will result in an error.

§storage_class: String

The bucket’s default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see https://developers.google.com/storage/docs/storage-classes.

§etag: String

HTTP 1.1 [https://tools.ietf.org/html/rfc7232#section-2.3"\]Entity tag] for the bucket. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§updated: Option<Timestamp>

The modification time of the bucket. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].

§default_event_based_hold: bool

The default value for event-based hold on newly created objects in this bucket. Event-based hold is a way to retain objects indefinitely until an event occurs, signified by the hold’s release. After being released, such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. Objects under event-based hold cannot be deleted, overwritten or archived until the hold is removed.

§labels: BTreeMap<String, String>

User-provided labels, in key/value pairs.

§website: Option<Website>

The bucket’s website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the [https://cloud.google.com/storage/docs/static-website][Static Website Examples] for more information.

§versioning: Option<Versioning>

The bucket’s versioning configuration.

§logging: Option<Logging>

The bucket’s logging configuration, which defines the destination bucket and optional name prefix for the current bucket’s logs.

§owner: Option<Owner>

The owner of the bucket. This is always the project team’s owner group.

§encryption: Option<Encryption>

Encryption configuration for a bucket.

§billing: Option<Billing>

The bucket’s billing configuration.

§retention_policy: Option<RetentionPolicy>

The bucket’s retention policy. The retention policy enforces a minimum retention time for all objects contained in the bucket, based on their creation time. Any attempt to overwrite or delete objects younger than the retention period will result in a PERMISSION_DENIED error. An unlocked retention policy can be modified or removed from the bucket via a storage.buckets.update operation. A locked retention policy cannot be removed or shortened in duration for the lifetime of the bucket. Attempting to remove or decrease period of a locked retention policy will result in a PERMISSION_DENIED error.

§location_type: String

The location type of the bucket (region, dual-region, multi-region, etc).

§iam_configuration: Option<IamConfiguration>

The bucket’s IAM configuration.

§zone_affinity: Vec<String>
👎Deprecated

The zone or zones from which the bucket is intended to use zonal quota. Requests for data from outside the specified affinities are still allowed but won’t be able to use zonal quota. The values are case-insensitive. Attempting to update this field after bucket is created will result in an error.

§satisfies_pzs: bool

Reserved for future use.

§autoclass: Option<Autoclass>

The bucket’s autoclass configuration. If there is no configuration, the Autoclass feature will be disabled and have no effect on the bucket.

Trait Implementations§

source§

impl Clone for Bucket

source§

fn clone(&self) -> Bucket

Returns a copy 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 Bucket

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Bucket

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for Bucket

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for Bucket

source§

fn eq(&self, other: &Bucket) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Bucket

Auto Trait Implementations§

§

impl Freeze for Bucket

§

impl RefUnwindSafe for Bucket

§

impl Send for Bucket

§

impl Sync for Bucket

§

impl Unpin for Bucket

§

impl UnwindSafe for Bucket

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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<T> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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