Class: Google::Apis::StorageV1::Bucket
- Inherits:
-
Object
- Object
- Google::Apis::StorageV1::Bucket
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/storage_v1/classes.rb,
generated/google/apis/storage_v1/representations.rb,
generated/google/apis/storage_v1/representations.rb
Overview
A bucket.
Defined Under Namespace
Classes: Billing, CorsConfiguration, Encryption, IamConfiguration, Lifecycle, Logging, Owner, RetentionPolicy, Versioning, Website
Instance Attribute Summary collapse
-
#acl ⇒ Array<Google::Apis::StorageV1::BucketAccessControl>
Access controls on the bucket.
-
#billing ⇒ Google::Apis::StorageV1::Bucket::Billing
The bucket's billing configuration.
-
#cors_configurations ⇒ Array<Google::Apis::StorageV1::Bucket::CorsConfiguration>
The bucket's Cross-Origin Resource Sharing (CORS) configuration.
-
#default_event_based_hold ⇒ Boolean
(also: #default_event_based_hold?)
The default value for event-based hold on newly created objects in this bucket.
-
#default_object_acl ⇒ Array<Google::Apis::StorageV1::ObjectAccessControl>
Default access controls to apply to new objects when no ACL is provided.
-
#encryption ⇒ Google::Apis::StorageV1::Bucket::Encryption
Encryption configuration for a bucket.
-
#etag ⇒ String
HTTP 1.1 Entity tag for the bucket.
-
#iam_configuration ⇒ Google::Apis::StorageV1::Bucket::IamConfiguration
The bucket's IAM configuration.
-
#id ⇒ String
The ID of the bucket.
-
#kind ⇒ String
The kind of item this is.
-
#labels ⇒ Hash<String,String>
User-provided labels, in key/value pairs.
-
#lifecycle ⇒ Google::Apis::StorageV1::Bucket::Lifecycle
The bucket's lifecycle configuration.
-
#location ⇒ String
The location of the bucket.
-
#location_type ⇒ String
The type of the bucket location.
-
#logging ⇒ Google::Apis::StorageV1::Bucket::Logging
The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
-
#metageneration ⇒ Fixnum
The metadata generation of this bucket.
-
#name ⇒ String
The name of the bucket.
-
#owner ⇒ Google::Apis::StorageV1::Bucket::Owner
The owner of the bucket.
-
#project_number ⇒ Fixnum
The project number of the project the bucket belongs to.
-
#retention_policy ⇒ Google::Apis::StorageV1::Bucket::RetentionPolicy
The bucket's retention policy.
-
#self_link ⇒ String
The URI of this bucket.
-
#storage_class ⇒ String
The bucket's default storage class, used whenever no storageClass is specified for a newly-created object.
-
#time_created ⇒ DateTime
The creation time of the bucket in RFC 3339 format.
-
#updated ⇒ DateTime
The modification time of the bucket in RFC 3339 format.
-
#versioning ⇒ Google::Apis::StorageV1::Bucket::Versioning
The bucket's versioning configuration.
-
#website ⇒ Google::Apis::StorageV1::Bucket::Website
The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site.
-
#zone_affinity ⇒ Array<String>
The zone or zones from which the bucket is intended to use zonal quota.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Bucket
constructor
A new instance of Bucket.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Bucket
Returns a new instance of Bucket.
200 201 202 |
# File 'generated/google/apis/storage_v1/classes.rb', line 200 def initialize(**args) update!(**args) end |
Instance Attribute Details
#acl ⇒ Array<Google::Apis::StorageV1::BucketAccessControl>
Access controls on the bucket.
Corresponds to the JSON property acl
32 33 34 |
# File 'generated/google/apis/storage_v1/classes.rb', line 32 def acl @acl end |
#billing ⇒ Google::Apis::StorageV1::Bucket::Billing
The bucket's billing configuration.
Corresponds to the JSON property billing
37 38 39 |
# File 'generated/google/apis/storage_v1/classes.rb', line 37 def billing @billing end |
#cors_configurations ⇒ Array<Google::Apis::StorageV1::Bucket::CorsConfiguration>
The bucket's Cross-Origin Resource Sharing (CORS) configuration.
Corresponds to the JSON property cors
42 43 44 |
# File 'generated/google/apis/storage_v1/classes.rb', line 42 def cors_configurations @cors_configurations end |
#default_event_based_hold ⇒ Boolean Also known as: default_event_based_hold?
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
58 59 60 |
# File 'generated/google/apis/storage_v1/classes.rb', line 58 def default_event_based_hold @default_event_based_hold end |
#default_object_acl ⇒ Array<Google::Apis::StorageV1::ObjectAccessControl>
Default access controls to apply to new objects when no ACL is provided.
Corresponds to the JSON property defaultObjectAcl
64 65 66 |
# File 'generated/google/apis/storage_v1/classes.rb', line 64 def default_object_acl @default_object_acl end |
#encryption ⇒ Google::Apis::StorageV1::Bucket::Encryption
Encryption configuration for a bucket.
Corresponds to the JSON property encryption
69 70 71 |
# File 'generated/google/apis/storage_v1/classes.rb', line 69 def encryption @encryption end |
#etag ⇒ String
HTTP 1.1 Entity tag for the bucket.
Corresponds to the JSON property etag
74 75 76 |
# File 'generated/google/apis/storage_v1/classes.rb', line 74 def etag @etag end |
#iam_configuration ⇒ Google::Apis::StorageV1::Bucket::IamConfiguration
The bucket's IAM configuration.
Corresponds to the JSON property iamConfiguration
79 80 81 |
# File 'generated/google/apis/storage_v1/classes.rb', line 79 def iam_configuration @iam_configuration end |
#id ⇒ String
The ID of the bucket. For buckets, the id and name properties are the same.
Corresponds to the JSON property id
84 85 86 |
# File 'generated/google/apis/storage_v1/classes.rb', line 84 def id @id end |
#kind ⇒ String
The kind of item this is. For buckets, this is always storage#bucket.
Corresponds to the JSON property kind
89 90 91 |
# File 'generated/google/apis/storage_v1/classes.rb', line 89 def kind @kind end |
#labels ⇒ Hash<String,String>
User-provided labels, in key/value pairs.
Corresponds to the JSON property labels
94 95 96 |
# File 'generated/google/apis/storage_v1/classes.rb', line 94 def labels @labels end |
#lifecycle ⇒ Google::Apis::StorageV1::Bucket::Lifecycle
The bucket's lifecycle configuration. See lifecycle management for more
information.
Corresponds to the JSON property lifecycle
100 101 102 |
# File 'generated/google/apis/storage_v1/classes.rb', line 100 def lifecycle @lifecycle end |
#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 developer's guide
for the authoritative list.
Corresponds to the JSON property location
107 108 109 |
# File 'generated/google/apis/storage_v1/classes.rb', line 107 def location @location end |
#location_type ⇒ String
The type of the bucket location.
Corresponds to the JSON property locationType
112 113 114 |
# File 'generated/google/apis/storage_v1/classes.rb', line 112 def location_type @location_type end |
#logging ⇒ Google::Apis::StorageV1::Bucket::Logging
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
118 119 120 |
# File 'generated/google/apis/storage_v1/classes.rb', line 118 def logging @logging end |
#metageneration ⇒ Fixnum
The metadata generation of this bucket.
Corresponds to the JSON property metageneration
123 124 125 |
# File 'generated/google/apis/storage_v1/classes.rb', line 123 def @metageneration end |
#name ⇒ String
The name of the bucket.
Corresponds to the JSON property name
128 129 130 |
# File 'generated/google/apis/storage_v1/classes.rb', line 128 def name @name end |
#owner ⇒ Google::Apis::StorageV1::Bucket::Owner
The owner of the bucket. This is always the project team's owner group.
Corresponds to the JSON property owner
133 134 135 |
# File 'generated/google/apis/storage_v1/classes.rb', line 133 def owner @owner end |
#project_number ⇒ Fixnum
The project number of the project the bucket belongs to.
Corresponds to the JSON property projectNumber
138 139 140 |
# File 'generated/google/apis/storage_v1/classes.rb', line 138 def project_number @project_number end |
#retention_policy ⇒ Google::Apis::StorageV1::Bucket::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.
Corresponds to the JSON property retentionPolicy
151 152 153 |
# File 'generated/google/apis/storage_v1/classes.rb', line 151 def retention_policy @retention_policy end |
#self_link ⇒ String
The URI of this bucket.
Corresponds to the JSON property selfLink
156 157 158 |
# File 'generated/google/apis/storage_v1/classes.rb', line 156 def self_link @self_link end |
#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. 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
167 168 169 |
# File 'generated/google/apis/storage_v1/classes.rb', line 167 def storage_class @storage_class end |
#time_created ⇒ DateTime
The creation time of the bucket in RFC 3339 format.
Corresponds to the JSON property timeCreated
172 173 174 |
# File 'generated/google/apis/storage_v1/classes.rb', line 172 def time_created @time_created end |
#updated ⇒ DateTime
The modification time of the bucket in RFC 3339 format.
Corresponds to the JSON property updated
177 178 179 |
# File 'generated/google/apis/storage_v1/classes.rb', line 177 def updated @updated end |
#versioning ⇒ Google::Apis::StorageV1::Bucket::Versioning
The bucket's versioning configuration.
Corresponds to the JSON property versioning
182 183 184 |
# File 'generated/google/apis/storage_v1/classes.rb', line 182 def versioning @versioning end |
#website ⇒ Google::Apis::StorageV1::Bucket::Website
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
189 190 191 |
# File 'generated/google/apis/storage_v1/classes.rb', line 189 def website @website end |
#zone_affinity ⇒ Array<String>
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
198 199 200 |
# File 'generated/google/apis/storage_v1/classes.rb', line 198 def zone_affinity @zone_affinity end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'generated/google/apis/storage_v1/classes.rb', line 205 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) @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 |