Struct google_cloud_storage::http::buckets::Bucket
source · pub struct Bucket {Show 25 fields
pub acl: Option<Vec<BucketAccessControl>>,
pub default_object_acl: Option<Vec<ObjectAccessControl>>,
pub lifecycle: Option<Lifecycle>,
pub time_created: Option<DateTime<Utc>>,
pub id: String,
pub name: String,
pub project_number: i64,
pub metageneration: i64,
pub cors: Option<Vec<Cors>>,
pub location: String,
pub storage_class: String,
pub etag: String,
pub updated: Option<DateTime<Utc>>,
pub default_event_based_hold: Option<bool>,
pub labels: Option<HashMap<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 rpo: Option<String>,
pub iam_configuration: Option<IamConfiguration>,
}Expand description
A bucket.
Fields
acl: Option<Vec<BucketAccessControl>>Access controls on the bucket.
default_object_acl: Option<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<DateTime<Utc>>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: StringThe 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: StringThe name of the bucket. Attempting to update this field after the bucket is created will result in an error.
project_number: i64The 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: i64The metadata generation of this bucket. Attempting to set or update this field will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].
cors: Option<Vec<Cors>>The bucket’s [https://www.w3.org/TR/cors/\][Cross-Origin Resource Sharing] (CORS) configuration.
location: StringThe 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: StringThe 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: StringHTTP 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<DateTime<Utc>>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: Option<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: Option<HashMap<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: StringThe location type of the bucket (region, dual-region, multi-region, etc).
rpo: Option<String>The recovery point objective for cross-region replication of the bucket. Applicable only for dual- and multi-region buckets. “DEFAULT” uses default replication. “ASYNC_TURBO” enables turbo replication, valid for dual-region buckets only. If rpo is not specified when the bucket is created, it defaults to “DEFAULT”. For more information, see Turbo replication.
iam_configuration: Option<IamConfiguration>The bucket’s IAM configuration.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Bucket
impl<'de> Deserialize<'de> for Bucket
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Bucket
impl StructuralEq for Bucket
impl StructuralPartialEq for Bucket
Auto Trait Implementations
impl RefUnwindSafe for Bucket
impl Send for Bucket
impl Sync for Bucket
impl Unpin for Bucket
impl UnwindSafe for Bucket
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.