class Google::Apis::StorageV1::Bucket
A bucket.
Attributes
Access controls on the bucket. Corresponds to the JSON property `acl` @return [Array<Google::Apis::StorageV1::BucketAccessControl>]
The bucket's billing configuration. Corresponds to the JSON property `billing` @return [Google::Apis::StorageV1::Bucket::Billing]
The bucket's Cross-Origin Resource Sharing (CORS) configuration. Corresponds to the JSON property `cors` @return [Array<Google::Apis::StorageV1::Bucket::CorsConfiguration>]
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. Corresponds to the JSON property `defaultEventBasedHold` @return [Boolean]
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. Corresponds to the JSON property `defaultEventBasedHold` @return [Boolean]
Default access controls to apply to new objects when no ACL is provided. Corresponds to the JSON property `defaultObjectAcl` @return [Array<Google::Apis::StorageV1::ObjectAccessControl>]
Encryption
configuration for a bucket. Corresponds to the JSON property `encryption` @return [Google::Apis::StorageV1::Bucket::Encryption]
HTTP 1.1 Entity tag for the bucket. Corresponds to the JSON property `etag` @return [String]
The bucket's IAM configuration. Corresponds to the JSON property `iamConfiguration` @return [Google::Apis::StorageV1::Bucket::IamConfiguration]
The ID of the bucket. For buckets, the id and name properties are the same. Corresponds to the JSON property `id` @return [String]
The kind of item this is. For buckets, this is always storage#bucket. Corresponds to the JSON property `kind` @return [String]
User-provided labels, in key/value pairs. Corresponds to the JSON property `labels` @return [Hash<String,String>]
The bucket's lifecycle configuration. See lifecycle management for more information. Corresponds to the JSON property `lifecycle` @return [Google::Apis::StorageV1::Bucket::Lifecycle]
The location of the bucket. Object
data for objects in the bucket resides in physical storage within this region. Defaults to US. See the developer's guide for the authoritative list. Corresponds to the JSON property `location` @return [String]
The type of the bucket location. Corresponds to the JSON property `locationType` @return [String]
The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs. Corresponds to the JSON property `logging` @return [Google::Apis::StorageV1::Bucket::Logging]
The metadata generation of this bucket. Corresponds to the JSON property `metageneration` @return [Fixnum]
The name of the bucket. Corresponds to the JSON property `name` @return [String]
The owner of the bucket. This is always the project team's owner group. Corresponds to the JSON property `owner` @return [Google::Apis::StorageV1::Bucket::Owner]
The project number of the project the bucket belongs to. Corresponds to the JSON property `projectNumber` @return [Fixnum]
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. Corresponds to the JSON property `retentionPolicy` @return [Google::Apis::StorageV1::Bucket::RetentionPolicy]
Reserved for future use. Corresponds to the JSON property `satisfiesPZS` @return [Boolean]
Reserved for future use. Corresponds to the JSON property `satisfiesPZS` @return [Boolean]
The URI of this bucket. Corresponds to the JSON property `selfLink` @return [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. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see storage classes. Corresponds to the JSON property `storageClass` @return [String]
The creation time of the bucket in RFC 3339 format. Corresponds to the JSON property `timeCreated` @return [DateTime]
The modification time of the bucket in RFC 3339 format. Corresponds to the JSON property `updated` @return [DateTime]
The bucket's versioning configuration. Corresponds to the JSON property `versioning` @return [Google::Apis::StorageV1::Bucket::Versioning]
The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the Static Website
Examples for more information. Corresponds to the JSON property `website` @return [Google::Apis::StorageV1::Bucket::Website]
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 zone or zones need to be within the bucket location otherwise the requests will fail with a 400 Bad Request response. Corresponds to the JSON property `zoneAffinity` @return [Array<String>]
Public Class Methods
# File lib/google/apis/storage_v1/classes.rb, line 206 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/storage_v1/classes.rb, line 211 def update!(**args) @acl = args[:acl] if args.key?(:acl) @billing = args[:billing] if args.key?(:billing) @cors_configurations = args[:cors_configurations] if args.key?(:cors_configurations) @default_event_based_hold = args[:default_event_based_hold] if args.key?(:default_event_based_hold) @default_object_acl = args[:default_object_acl] if args.key?(:default_object_acl) @encryption = args[:encryption] if args.key?(:encryption) @etag = args[:etag] if args.key?(:etag) @iam_configuration = args[:iam_configuration] if args.key?(:iam_configuration) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @labels = args[:labels] if args.key?(:labels) @lifecycle = args[:lifecycle] if args.key?(:lifecycle) @location = args[:location] if args.key?(:location) @location_type = args[:location_type] if args.key?(:location_type) @logging = args[:logging] if args.key?(:logging) @metageneration = args[:metageneration] if args.key?(:metageneration) @name = args[:name] if args.key?(:name) @owner = args[:owner] if args.key?(:owner) @project_number = args[:project_number] if args.key?(:project_number) @retention_policy = args[:retention_policy] if args.key?(:retention_policy) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @storage_class = args[:storage_class] if args.key?(:storage_class) @time_created = args[:time_created] if args.key?(:time_created) @updated = args[:updated] if args.key?(:updated) @versioning = args[:versioning] if args.key?(:versioning) @website = args[:website] if args.key?(:website) @zone_affinity = args[:zone_affinity] if args.key?(:zone_affinity) end