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, 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?)
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines 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. 
- 
  
    
      #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. 
- 
  
    
      #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 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the retention policy for a bucket. 
- 
  
    
      #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. 
Instance Method Summary collapse
- 
  
    
      #initialize(**args)  ⇒ Bucket 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Bucket. 
- 
  
    
      #update!(**args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Update properties of this object. 
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Bucket
Returns a new instance of Bucket
| 178 179 180 | # File 'generated/google/apis/storage_v1/classes.rb', line 178 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?
Defines 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 (hold is released)
and then 3 more years after that. Objects under Event-Based hold cannot be
deleted, overwritten or archived until the hold is removed.
Corresponds to the JSON property defaultEventBasedHold
| 56 57 58 | # File 'generated/google/apis/storage_v1/classes.rb', line 56 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
| 62 63 64 | # File 'generated/google/apis/storage_v1/classes.rb', line 62 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
| 67 68 69 | # File 'generated/google/apis/storage_v1/classes.rb', line 67 def encryption @encryption end | 
#etag ⇒ String
HTTP 1.1 Entity tag for the bucket.
Corresponds to the JSON property etag
| 72 73 74 | # File 'generated/google/apis/storage_v1/classes.rb', line 72 def etag @etag end | 
#id ⇒ String
The ID of the bucket. For buckets, the id and name properties are the same.
Corresponds to the JSON property id
| 77 78 79 | # File 'generated/google/apis/storage_v1/classes.rb', line 77 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
| 82 83 84 | # File 'generated/google/apis/storage_v1/classes.rb', line 82 def kind @kind end | 
#labels ⇒ Hash<String,String>
User-provided labels, in key/value pairs.
Corresponds to the JSON property labels
| 87 88 89 | # File 'generated/google/apis/storage_v1/classes.rb', line 87 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
| 93 94 95 | # File 'generated/google/apis/storage_v1/classes.rb', line 93 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
| 100 101 102 | # File 'generated/google/apis/storage_v1/classes.rb', line 100 def location @location 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
| 106 107 108 | # File 'generated/google/apis/storage_v1/classes.rb', line 106 def logging @logging end | 
#metageneration ⇒ Fixnum
The metadata generation of this bucket.
Corresponds to the JSON property metageneration
| 111 112 113 | # File 'generated/google/apis/storage_v1/classes.rb', line 111 def @metageneration end | 
#name ⇒ String
The name of the bucket.
Corresponds to the JSON property name
| 116 117 118 | # File 'generated/google/apis/storage_v1/classes.rb', line 116 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
| 121 122 123 | # File 'generated/google/apis/storage_v1/classes.rb', line 121 def owner @owner end | 
#project_number ⇒ Fixnum
The project number of the project the bucket belongs to.
Corresponds to the JSON property projectNumber
| 126 127 128 | # File 'generated/google/apis/storage_v1/classes.rb', line 126 def project_number @project_number end | 
#retention_policy ⇒ Google::Apis::StorageV1::Bucket::RetentionPolicy
Defines the retention policy for a bucket. 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 the
UpdateBucketMetadata RPC. 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
| 139 140 141 | # File 'generated/google/apis/storage_v1/classes.rb', line 139 def retention_policy @retention_policy end | 
#self_link ⇒ String
The URI of this bucket.
Corresponds to the JSON property selfLink
| 144 145 146 | # File 'generated/google/apis/storage_v1/classes.rb', line 144 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, 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
| 154 155 156 | # File 'generated/google/apis/storage_v1/classes.rb', line 154 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
| 159 160 161 | # File 'generated/google/apis/storage_v1/classes.rb', line 159 def time_created @time_created end | 
#updated ⇒ DateTime
The modification time of the bucket in RFC 3339 format.
Corresponds to the JSON property updated
| 164 165 166 | # File 'generated/google/apis/storage_v1/classes.rb', line 164 def updated @updated end | 
#versioning ⇒ Google::Apis::StorageV1::Bucket::Versioning
The bucket's versioning configuration.
Corresponds to the JSON property versioning
| 169 170 171 | # File 'generated/google/apis/storage_v1/classes.rb', line 169 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
| 176 177 178 | # File 'generated/google/apis/storage_v1/classes.rb', line 176 def website @website end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | # File 'generated/google/apis/storage_v1/classes.rb', line 183 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) @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) @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) end |