Class: Google::Apis::StorageV1::Bucket
- Inherits:
-
Object
- Object
- Google::Apis::StorageV1::Bucket
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/storage_v1/classes.rb,
lib/google/apis/storage_v1/representations.rb,
lib/google/apis/storage_v1/representations.rb
Overview
A bucket.
Defined Under Namespace
Classes: Autoclass, Billing, CorsConfiguration, CustomPlacementConfig, Encryption, HierarchicalNamespace, IamConfiguration, IpFilter, Lifecycle, Logging, ObjectRetention, Owner, RetentionPolicy, SoftDeletePolicy, Versioning, Website
Instance Attribute Summary collapse
-
#acl ⇒ Array<Google::Apis::StorageV1::BucketAccessControl>
Access controls on the bucket.
-
#autoclass ⇒ Google::Apis::StorageV1::Bucket::Autoclass
The bucket's Autoclass configuration.
-
#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.
-
#custom_placement_config ⇒ Google::Apis::StorageV1::Bucket::CustomPlacementConfig
The bucket's custom placement configuration for Custom Dual Regions.
-
#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.
-
#generation ⇒ Fixnum
The generation of this bucket.
-
#hard_delete_time ⇒ DateTime
The hard delete time of the bucket in RFC 3339 format.
-
#hierarchical_namespace ⇒ Google::Apis::StorageV1::Bucket::HierarchicalNamespace
The bucket's hierarchical namespace configuration.
-
#iam_configuration ⇒ Google::Apis::StorageV1::Bucket::IamConfiguration
The bucket's IAM configuration.
-
#id ⇒ String
The ID of the bucket.
-
#ip_filter ⇒ Google::Apis::StorageV1::Bucket::IpFilter
The bucket's IP filter configuration.
-
#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.
-
#object_retention ⇒ Google::Apis::StorageV1::Bucket::ObjectRetention
The bucket's object retention config.
-
#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.
-
#rpo ⇒ String
The Recovery Point Objective (RPO) of this bucket.
-
#satisfies_pzi ⇒ Boolean
(also: #satisfies_pzi?)
Reserved for future use.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
Reserved for future use.
-
#self_link ⇒ String
The URI of this bucket.
-
#soft_delete_policy ⇒ Google::Apis::StorageV1::Bucket::SoftDeletePolicy
The bucket's soft delete policy, which defines the period of time that soft- deleted objects will be retained, and cannot be permanently deleted.
-
#soft_delete_time ⇒ DateTime
The soft delete time of the bucket in RFC 3339 format.
-
#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.
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.
414 415 416 |
# File 'lib/google/apis/storage_v1/classes.rb', line 414 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
188 189 190 |
# File 'lib/google/apis/storage_v1/classes.rb', line 188 def acl @acl end |
#autoclass ⇒ Google::Apis::StorageV1::Bucket::Autoclass
The bucket's Autoclass configuration.
Corresponds to the JSON property autoclass
193 194 195 |
# File 'lib/google/apis/storage_v1/classes.rb', line 193 def autoclass @autoclass end |
#billing ⇒ Google::Apis::StorageV1::Bucket::Billing
The bucket's billing configuration.
Corresponds to the JSON property billing
198 199 200 |
# File 'lib/google/apis/storage_v1/classes.rb', line 198 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
203 204 205 |
# File 'lib/google/apis/storage_v1/classes.rb', line 203 def cors_configurations @cors_configurations end |
#custom_placement_config ⇒ Google::Apis::StorageV1::Bucket::CustomPlacementConfig
The bucket's custom placement configuration for Custom Dual Regions.
Corresponds to the JSON property customPlacementConfig
208 209 210 |
# File 'lib/google/apis/storage_v1/classes.rb', line 208 def custom_placement_config @custom_placement_config 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
224 225 226 |
# File 'lib/google/apis/storage_v1/classes.rb', line 224 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
230 231 232 |
# File 'lib/google/apis/storage_v1/classes.rb', line 230 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
235 236 237 |
# File 'lib/google/apis/storage_v1/classes.rb', line 235 def encryption @encryption end |
#etag ⇒ String
HTTP 1.1 Entity tag for the bucket.
Corresponds to the JSON property etag
240 241 242 |
# File 'lib/google/apis/storage_v1/classes.rb', line 240 def etag @etag end |
#generation ⇒ Fixnum
The generation of this bucket.
Corresponds to the JSON property generation
245 246 247 |
# File 'lib/google/apis/storage_v1/classes.rb', line 245 def generation @generation end |
#hard_delete_time ⇒ DateTime
The hard delete time of the bucket in RFC 3339 format.
Corresponds to the JSON property hardDeleteTime
250 251 252 |
# File 'lib/google/apis/storage_v1/classes.rb', line 250 def hard_delete_time @hard_delete_time end |
#hierarchical_namespace ⇒ Google::Apis::StorageV1::Bucket::HierarchicalNamespace
The bucket's hierarchical namespace configuration.
Corresponds to the JSON property hierarchicalNamespace
255 256 257 |
# File 'lib/google/apis/storage_v1/classes.rb', line 255 def hierarchical_namespace @hierarchical_namespace end |
#iam_configuration ⇒ Google::Apis::StorageV1::Bucket::IamConfiguration
The bucket's IAM configuration.
Corresponds to the JSON property iamConfiguration
260 261 262 |
# File 'lib/google/apis/storage_v1/classes.rb', line 260 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
265 266 267 |
# File 'lib/google/apis/storage_v1/classes.rb', line 265 def id @id end |
#ip_filter ⇒ Google::Apis::StorageV1::Bucket::IpFilter
The bucket's IP filter configuration. Specifies the network sources that are
allowed to access the operations on the bucket, as well as its underlying
objects. Only enforced when the mode is set to 'Enabled'.
Corresponds to the JSON property ipFilter
272 273 274 |
# File 'lib/google/apis/storage_v1/classes.rb', line 272 def ip_filter @ip_filter end |
#kind ⇒ String
The kind of item this is. For buckets, this is always storage#bucket.
Corresponds to the JSON property kind
277 278 279 |
# File 'lib/google/apis/storage_v1/classes.rb', line 277 def kind @kind end |
#labels ⇒ Hash<String,String>
User-provided labels, in key/value pairs.
Corresponds to the JSON property labels
282 283 284 |
# File 'lib/google/apis/storage_v1/classes.rb', line 282 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
288 289 290 |
# File 'lib/google/apis/storage_v1/classes.rb', line 288 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
296 297 298 |
# File 'lib/google/apis/storage_v1/classes.rb', line 296 def location @location end |
#location_type ⇒ String
The type of the bucket location.
Corresponds to the JSON property locationType
301 302 303 |
# File 'lib/google/apis/storage_v1/classes.rb', line 301 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
307 308 309 |
# File 'lib/google/apis/storage_v1/classes.rb', line 307 def logging @logging end |
#metageneration ⇒ Fixnum
The metadata generation of this bucket.
Corresponds to the JSON property metageneration
312 313 314 |
# File 'lib/google/apis/storage_v1/classes.rb', line 312 def @metageneration end |
#name ⇒ String
The name of the bucket.
Corresponds to the JSON property name
317 318 319 |
# File 'lib/google/apis/storage_v1/classes.rb', line 317 def name @name end |
#object_retention ⇒ Google::Apis::StorageV1::Bucket::ObjectRetention
The bucket's object retention config.
Corresponds to the JSON property objectRetention
322 323 324 |
# File 'lib/google/apis/storage_v1/classes.rb', line 322 def object_retention @object_retention 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
327 328 329 |
# File 'lib/google/apis/storage_v1/classes.rb', line 327 def owner @owner end |
#project_number ⇒ Fixnum
The project number of the project the bucket belongs to.
Corresponds to the JSON property projectNumber
332 333 334 |
# File 'lib/google/apis/storage_v1/classes.rb', line 332 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
345 346 347 |
# File 'lib/google/apis/storage_v1/classes.rb', line 345 def retention_policy @retention_policy end |
#rpo ⇒ String
The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn
on Turbo Replication on a bucket.
Corresponds to the JSON property rpo
351 352 353 |
# File 'lib/google/apis/storage_v1/classes.rb', line 351 def rpo @rpo end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
Reserved for future use.
Corresponds to the JSON property satisfiesPZI
356 357 358 |
# File 'lib/google/apis/storage_v1/classes.rb', line 356 def satisfies_pzi @satisfies_pzi end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Reserved for future use.
Corresponds to the JSON property satisfiesPZS
362 363 364 |
# File 'lib/google/apis/storage_v1/classes.rb', line 362 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
The URI of this bucket.
Corresponds to the JSON property selfLink
368 369 370 |
# File 'lib/google/apis/storage_v1/classes.rb', line 368 def self_link @self_link end |
#soft_delete_policy ⇒ Google::Apis::StorageV1::Bucket::SoftDeletePolicy
The bucket's soft delete policy, which defines the period of time that soft-
deleted objects will be retained, and cannot be permanently deleted.
Corresponds to the JSON property softDeletePolicy
374 375 376 |
# File 'lib/google/apis/storage_v1/classes.rb', line 374 def soft_delete_policy @soft_delete_policy end |
#soft_delete_time ⇒ DateTime
The soft delete time of the bucket in RFC 3339 format.
Corresponds to the JSON property softDeleteTime
379 380 381 |
# File 'lib/google/apis/storage_v1/classes.rb', line 379 def soft_delete_time @soft_delete_time 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
390 391 392 |
# File 'lib/google/apis/storage_v1/classes.rb', line 390 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
395 396 397 |
# File 'lib/google/apis/storage_v1/classes.rb', line 395 def time_created @time_created end |
#updated ⇒ DateTime
The modification time of the bucket in RFC 3339 format.
Corresponds to the JSON property updated
400 401 402 |
# File 'lib/google/apis/storage_v1/classes.rb', line 400 def updated @updated end |
#versioning ⇒ Google::Apis::StorageV1::Bucket::Versioning
The bucket's versioning configuration.
Corresponds to the JSON property versioning
405 406 407 |
# File 'lib/google/apis/storage_v1/classes.rb', line 405 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
412 413 414 |
# File 'lib/google/apis/storage_v1/classes.rb', line 412 def website @website end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 |
# File 'lib/google/apis/storage_v1/classes.rb', line 419 def update!(**args) @acl = args[:acl] if args.key?(:acl) @autoclass = args[:autoclass] if args.key?(:autoclass) @billing = args[:billing] if args.key?(:billing) @cors_configurations = args[:cors_configurations] if args.key?(:cors_configurations) @custom_placement_config = args[:custom_placement_config] if args.key?(:custom_placement_config) @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) @generation = args[:generation] if args.key?(:generation) @hard_delete_time = args[:hard_delete_time] if args.key?(:hard_delete_time) @hierarchical_namespace = args[:hierarchical_namespace] if args.key?(:hierarchical_namespace) @iam_configuration = args[:iam_configuration] if args.key?(:iam_configuration) @id = args[:id] if args.key?(:id) @ip_filter = args[:ip_filter] if args.key?(:ip_filter) @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) @object_retention = args[:object_retention] if args.key?(:object_retention) @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) @rpo = args[:rpo] if args.key?(:rpo) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @soft_delete_policy = args[:soft_delete_policy] if args.key?(:soft_delete_policy) @soft_delete_time = args[:soft_delete_time] if args.key?(:soft_delete_time) @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) end |