google-apis-storage_v1 0.29.0 → 0.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +111 -0
- data/OVERVIEW.md +2 -2
- data/lib/google/apis/storage_v1/classes.rb +832 -53
- data/lib/google/apis/storage_v1/gem_version.rb +3 -3
- data/lib/google/apis/storage_v1/representations.rb +344 -0
- data/lib/google/apis/storage_v1/service.rb +904 -110
- metadata +7 -10
@@ -22,6 +22,155 @@ module Google
|
|
22
22
|
module Apis
|
23
23
|
module StorageV1
|
24
24
|
|
25
|
+
# An AdvanceRelocateBucketOperation request.
|
26
|
+
class AdvanceRelocateBucketOperationRequest
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Specifies the time when the relocation will revert to the sync stage if the
|
30
|
+
# relocation hasn't succeeded.
|
31
|
+
# Corresponds to the JSON property `expireTime`
|
32
|
+
# @return [DateTime]
|
33
|
+
attr_accessor :expire_time
|
34
|
+
|
35
|
+
# Specifies the duration after which the relocation will revert to the sync
|
36
|
+
# stage if the relocation hasn't succeeded. Optional, if not supplied, a default
|
37
|
+
# value of 12h will be used.
|
38
|
+
# Corresponds to the JSON property `ttl`
|
39
|
+
# @return [String]
|
40
|
+
attr_accessor :ttl
|
41
|
+
|
42
|
+
def initialize(**args)
|
43
|
+
update!(**args)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Update properties of this object
|
47
|
+
def update!(**args)
|
48
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
49
|
+
@ttl = args[:ttl] if args.key?(:ttl)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# An Anywhere Cache instance.
|
54
|
+
class AnywhereCache
|
55
|
+
include Google::Apis::Core::Hashable
|
56
|
+
|
57
|
+
# The cache-level entry admission policy.
|
58
|
+
# Corresponds to the JSON property `admissionPolicy`
|
59
|
+
# @return [String]
|
60
|
+
attr_accessor :admission_policy
|
61
|
+
|
62
|
+
# The ID of the Anywhere cache instance.
|
63
|
+
# Corresponds to the JSON property `anywhereCacheId`
|
64
|
+
# @return [String]
|
65
|
+
attr_accessor :anywhere_cache_id
|
66
|
+
|
67
|
+
# The name of the bucket containing this cache instance.
|
68
|
+
# Corresponds to the JSON property `bucket`
|
69
|
+
# @return [String]
|
70
|
+
attr_accessor :bucket
|
71
|
+
|
72
|
+
# The creation time of the cache instance in RFC 3339 format.
|
73
|
+
# Corresponds to the JSON property `createTime`
|
74
|
+
# @return [DateTime]
|
75
|
+
attr_accessor :create_time
|
76
|
+
|
77
|
+
# The ID of the resource, including the project number, bucket name and anywhere
|
78
|
+
# cache ID.
|
79
|
+
# Corresponds to the JSON property `id`
|
80
|
+
# @return [String]
|
81
|
+
attr_accessor :id
|
82
|
+
|
83
|
+
# The kind of item this is. For Anywhere Cache, this is always storage#
|
84
|
+
# anywhereCache.
|
85
|
+
# Corresponds to the JSON property `kind`
|
86
|
+
# @return [String]
|
87
|
+
attr_accessor :kind
|
88
|
+
|
89
|
+
# True if the cache instance has an active Update long-running operation.
|
90
|
+
# Corresponds to the JSON property `pendingUpdate`
|
91
|
+
# @return [Boolean]
|
92
|
+
attr_accessor :pending_update
|
93
|
+
alias_method :pending_update?, :pending_update
|
94
|
+
|
95
|
+
# The link to this cache instance.
|
96
|
+
# Corresponds to the JSON property `selfLink`
|
97
|
+
# @return [String]
|
98
|
+
attr_accessor :self_link
|
99
|
+
|
100
|
+
# The current state of the cache instance.
|
101
|
+
# Corresponds to the JSON property `state`
|
102
|
+
# @return [String]
|
103
|
+
attr_accessor :state
|
104
|
+
|
105
|
+
# The TTL of all cache entries in whole seconds. e.g., "7200s".
|
106
|
+
# Corresponds to the JSON property `ttl`
|
107
|
+
# @return [String]
|
108
|
+
attr_accessor :ttl
|
109
|
+
|
110
|
+
# The modification time of the cache instance metadata in RFC 3339 format.
|
111
|
+
# Corresponds to the JSON property `updateTime`
|
112
|
+
# @return [DateTime]
|
113
|
+
attr_accessor :update_time
|
114
|
+
|
115
|
+
# The zone in which the cache instance is running. For example, us-central1-a.
|
116
|
+
# Corresponds to the JSON property `zone`
|
117
|
+
# @return [String]
|
118
|
+
attr_accessor :zone
|
119
|
+
|
120
|
+
def initialize(**args)
|
121
|
+
update!(**args)
|
122
|
+
end
|
123
|
+
|
124
|
+
# Update properties of this object
|
125
|
+
def update!(**args)
|
126
|
+
@admission_policy = args[:admission_policy] if args.key?(:admission_policy)
|
127
|
+
@anywhere_cache_id = args[:anywhere_cache_id] if args.key?(:anywhere_cache_id)
|
128
|
+
@bucket = args[:bucket] if args.key?(:bucket)
|
129
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
130
|
+
@id = args[:id] if args.key?(:id)
|
131
|
+
@kind = args[:kind] if args.key?(:kind)
|
132
|
+
@pending_update = args[:pending_update] if args.key?(:pending_update)
|
133
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
134
|
+
@state = args[:state] if args.key?(:state)
|
135
|
+
@ttl = args[:ttl] if args.key?(:ttl)
|
136
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
137
|
+
@zone = args[:zone] if args.key?(:zone)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# A list of Anywhere Caches.
|
142
|
+
class AnywhereCaches
|
143
|
+
include Google::Apis::Core::Hashable
|
144
|
+
|
145
|
+
# The list of items.
|
146
|
+
# Corresponds to the JSON property `items`
|
147
|
+
# @return [Array<Google::Apis::StorageV1::AnywhereCache>]
|
148
|
+
attr_accessor :items
|
149
|
+
|
150
|
+
# The kind of item this is. For lists of Anywhere Caches, this is always storage#
|
151
|
+
# anywhereCaches.
|
152
|
+
# Corresponds to the JSON property `kind`
|
153
|
+
# @return [String]
|
154
|
+
attr_accessor :kind
|
155
|
+
|
156
|
+
# The continuation token, used to page through large result sets. Provide this
|
157
|
+
# value in a subsequent request to return the next page of results.
|
158
|
+
# Corresponds to the JSON property `nextPageToken`
|
159
|
+
# @return [String]
|
160
|
+
attr_accessor :next_page_token
|
161
|
+
|
162
|
+
def initialize(**args)
|
163
|
+
update!(**args)
|
164
|
+
end
|
165
|
+
|
166
|
+
# Update properties of this object
|
167
|
+
def update!(**args)
|
168
|
+
@items = args[:items] if args.key?(:items)
|
169
|
+
@kind = args[:kind] if args.key?(:kind)
|
170
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
25
174
|
# A bucket.
|
26
175
|
class Bucket
|
27
176
|
include Google::Apis::Core::Hashable
|
@@ -83,6 +232,21 @@ module Google
|
|
83
232
|
# @return [String]
|
84
233
|
attr_accessor :etag
|
85
234
|
|
235
|
+
# The generation of this bucket.
|
236
|
+
# Corresponds to the JSON property `generation`
|
237
|
+
# @return [Fixnum]
|
238
|
+
attr_accessor :generation
|
239
|
+
|
240
|
+
# The hard delete time of the bucket in RFC 3339 format.
|
241
|
+
# Corresponds to the JSON property `hardDeleteTime`
|
242
|
+
# @return [DateTime]
|
243
|
+
attr_accessor :hard_delete_time
|
244
|
+
|
245
|
+
# The bucket's hierarchical namespace configuration.
|
246
|
+
# Corresponds to the JSON property `hierarchicalNamespace`
|
247
|
+
# @return [Google::Apis::StorageV1::Bucket::HierarchicalNamespace]
|
248
|
+
attr_accessor :hierarchical_namespace
|
249
|
+
|
86
250
|
# The bucket's IAM configuration.
|
87
251
|
# Corresponds to the JSON property `iamConfiguration`
|
88
252
|
# @return [Google::Apis::StorageV1::Bucket::IamConfiguration]
|
@@ -93,6 +257,13 @@ module Google
|
|
93
257
|
# @return [String]
|
94
258
|
attr_accessor :id
|
95
259
|
|
260
|
+
# The bucket's IP filter configuration. Specifies the network sources that are
|
261
|
+
# allowed to access the operations on the bucket, as well as its underlying
|
262
|
+
# objects. Only enforced when the mode is set to 'Enabled'.
|
263
|
+
# Corresponds to the JSON property `ipFilter`
|
264
|
+
# @return [Google::Apis::StorageV1::Bucket::IpFilter]
|
265
|
+
attr_accessor :ip_filter
|
266
|
+
|
96
267
|
# The kind of item this is. For buckets, this is always storage#bucket.
|
97
268
|
# Corresponds to the JSON property `kind`
|
98
269
|
# @return [String]
|
@@ -103,15 +274,16 @@ module Google
|
|
103
274
|
# @return [Hash<String,String>]
|
104
275
|
attr_accessor :labels
|
105
276
|
|
106
|
-
# The bucket's lifecycle configuration. See
|
107
|
-
# information.
|
277
|
+
# The bucket's lifecycle configuration. See [Lifecycle Management](https://cloud.
|
278
|
+
# google.com/storage/docs/lifecycle) for more information.
|
108
279
|
# Corresponds to the JSON property `lifecycle`
|
109
280
|
# @return [Google::Apis::StorageV1::Bucket::Lifecycle]
|
110
281
|
attr_accessor :lifecycle
|
111
282
|
|
112
283
|
# The location of the bucket. Object data for objects in the bucket resides in
|
113
|
-
# physical storage within this region. Defaults to US. See the
|
114
|
-
# for the authoritative
|
284
|
+
# physical storage within this region. Defaults to US. See the [Developer's
|
285
|
+
# Guide](https://cloud.google.com/storage/docs/locations) for the authoritative
|
286
|
+
# list.
|
115
287
|
# Corresponds to the JSON property `location`
|
116
288
|
# @return [String]
|
117
289
|
attr_accessor :location
|
@@ -171,6 +343,12 @@ module Google
|
|
171
343
|
# @return [String]
|
172
344
|
attr_accessor :rpo
|
173
345
|
|
346
|
+
# Reserved for future use.
|
347
|
+
# Corresponds to the JSON property `satisfiesPZI`
|
348
|
+
# @return [Boolean]
|
349
|
+
attr_accessor :satisfies_pzi
|
350
|
+
alias_method :satisfies_pzi?, :satisfies_pzi
|
351
|
+
|
174
352
|
# Reserved for future use.
|
175
353
|
# Corresponds to the JSON property `satisfiesPZS`
|
176
354
|
# @return [Boolean]
|
@@ -188,13 +366,18 @@ module Google
|
|
188
366
|
# @return [Google::Apis::StorageV1::Bucket::SoftDeletePolicy]
|
189
367
|
attr_accessor :soft_delete_policy
|
190
368
|
|
369
|
+
# The soft delete time of the bucket in RFC 3339 format.
|
370
|
+
# Corresponds to the JSON property `softDeleteTime`
|
371
|
+
# @return [DateTime]
|
372
|
+
attr_accessor :soft_delete_time
|
373
|
+
|
191
374
|
# The bucket's default storage class, used whenever no storageClass is specified
|
192
375
|
# for a newly-created object. This defines how objects in the bucket are stored
|
193
376
|
# and determines the SLA and the cost of storage. Values include MULTI_REGIONAL,
|
194
377
|
# REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and
|
195
378
|
# DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket
|
196
|
-
# is created, it will default to STANDARD. For more information, see
|
197
|
-
# classes.
|
379
|
+
# is created, it will default to STANDARD. For more information, see [Storage
|
380
|
+
# Classes](https://cloud.google.com/storage/docs/storage-classes).
|
198
381
|
# Corresponds to the JSON property `storageClass`
|
199
382
|
# @return [String]
|
200
383
|
attr_accessor :storage_class
|
@@ -215,8 +398,8 @@ module Google
|
|
215
398
|
attr_accessor :versioning
|
216
399
|
|
217
400
|
# The bucket's website configuration, controlling how the service behaves when
|
218
|
-
# accessing bucket contents as a web site. See the Static Website Examples
|
219
|
-
# more information.
|
401
|
+
# accessing bucket contents as a web site. See the [Static Website Examples](
|
402
|
+
# https://cloud.google.com/storage/docs/static-website) for more information.
|
220
403
|
# Corresponds to the JSON property `website`
|
221
404
|
# @return [Google::Apis::StorageV1::Bucket::Website]
|
222
405
|
attr_accessor :website
|
@@ -236,8 +419,12 @@ module Google
|
|
236
419
|
@default_object_acl = args[:default_object_acl] if args.key?(:default_object_acl)
|
237
420
|
@encryption = args[:encryption] if args.key?(:encryption)
|
238
421
|
@etag = args[:etag] if args.key?(:etag)
|
422
|
+
@generation = args[:generation] if args.key?(:generation)
|
423
|
+
@hard_delete_time = args[:hard_delete_time] if args.key?(:hard_delete_time)
|
424
|
+
@hierarchical_namespace = args[:hierarchical_namespace] if args.key?(:hierarchical_namespace)
|
239
425
|
@iam_configuration = args[:iam_configuration] if args.key?(:iam_configuration)
|
240
426
|
@id = args[:id] if args.key?(:id)
|
427
|
+
@ip_filter = args[:ip_filter] if args.key?(:ip_filter)
|
241
428
|
@kind = args[:kind] if args.key?(:kind)
|
242
429
|
@labels = args[:labels] if args.key?(:labels)
|
243
430
|
@lifecycle = args[:lifecycle] if args.key?(:lifecycle)
|
@@ -251,9 +438,11 @@ module Google
|
|
251
438
|
@project_number = args[:project_number] if args.key?(:project_number)
|
252
439
|
@retention_policy = args[:retention_policy] if args.key?(:retention_policy)
|
253
440
|
@rpo = args[:rpo] if args.key?(:rpo)
|
441
|
+
@satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
|
254
442
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
255
443
|
@self_link = args[:self_link] if args.key?(:self_link)
|
256
444
|
@soft_delete_policy = args[:soft_delete_policy] if args.key?(:soft_delete_policy)
|
445
|
+
@soft_delete_time = args[:soft_delete_time] if args.key?(:soft_delete_time)
|
257
446
|
@storage_class = args[:storage_class] if args.key?(:storage_class)
|
258
447
|
@time_created = args[:time_created] if args.key?(:time_created)
|
259
448
|
@updated = args[:updated] if args.key?(:updated)
|
@@ -388,19 +577,155 @@ module Google
|
|
388
577
|
class Encryption
|
389
578
|
include Google::Apis::Core::Hashable
|
390
579
|
|
580
|
+
# If set, the new objects created in this bucket must comply with this
|
581
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
582
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
583
|
+
# encrypted with Customer Managed Encryption type by default.
|
584
|
+
# Corresponds to the JSON property `customerManagedEncryptionEnforcementConfig`
|
585
|
+
# @return [Google::Apis::StorageV1::Bucket::Encryption::CustomerManagedEncryptionEnforcementConfig]
|
586
|
+
attr_accessor :customer_managed_encryption_enforcement_config
|
587
|
+
|
588
|
+
# If set, the new objects created in this bucket must comply with this
|
589
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
590
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
591
|
+
# encrypted with Customer Supplied Encryption type by default.
|
592
|
+
# Corresponds to the JSON property `customerSuppliedEncryptionEnforcementConfig`
|
593
|
+
# @return [Google::Apis::StorageV1::Bucket::Encryption::CustomerSuppliedEncryptionEnforcementConfig]
|
594
|
+
attr_accessor :customer_supplied_encryption_enforcement_config
|
595
|
+
|
391
596
|
# A Cloud KMS key that will be used to encrypt objects inserted into this bucket,
|
392
597
|
# if no encryption method is specified.
|
393
598
|
# Corresponds to the JSON property `defaultKmsKeyName`
|
394
599
|
# @return [String]
|
395
600
|
attr_accessor :default_kms_key_name
|
396
601
|
|
602
|
+
# If set, the new objects created in this bucket must comply with this
|
603
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
604
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
605
|
+
# encrypted with Google Managed Encryption type by default.
|
606
|
+
# Corresponds to the JSON property `googleManagedEncryptionEnforcementConfig`
|
607
|
+
# @return [Google::Apis::StorageV1::Bucket::Encryption::GoogleManagedEncryptionEnforcementConfig]
|
608
|
+
attr_accessor :google_managed_encryption_enforcement_config
|
609
|
+
|
397
610
|
def initialize(**args)
|
398
611
|
update!(**args)
|
399
612
|
end
|
400
613
|
|
401
614
|
# Update properties of this object
|
402
615
|
def update!(**args)
|
616
|
+
@customer_managed_encryption_enforcement_config = args[:customer_managed_encryption_enforcement_config] if args.key?(:customer_managed_encryption_enforcement_config)
|
617
|
+
@customer_supplied_encryption_enforcement_config = args[:customer_supplied_encryption_enforcement_config] if args.key?(:customer_supplied_encryption_enforcement_config)
|
403
618
|
@default_kms_key_name = args[:default_kms_key_name] if args.key?(:default_kms_key_name)
|
619
|
+
@google_managed_encryption_enforcement_config = args[:google_managed_encryption_enforcement_config] if args.key?(:google_managed_encryption_enforcement_config)
|
620
|
+
end
|
621
|
+
|
622
|
+
# If set, the new objects created in this bucket must comply with this
|
623
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
624
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
625
|
+
# encrypted with Customer Managed Encryption type by default.
|
626
|
+
class CustomerManagedEncryptionEnforcementConfig
|
627
|
+
include Google::Apis::Core::Hashable
|
628
|
+
|
629
|
+
# Server-determined value that indicates the time from which configuration was
|
630
|
+
# enforced and effective. This value is in RFC 3339 format.
|
631
|
+
# Corresponds to the JSON property `effectiveTime`
|
632
|
+
# @return [DateTime]
|
633
|
+
attr_accessor :effective_time
|
634
|
+
|
635
|
+
# Restriction mode for Customer-Managed Encryption Keys. Defaults to
|
636
|
+
# NotRestricted.
|
637
|
+
# Corresponds to the JSON property `restrictionMode`
|
638
|
+
# @return [String]
|
639
|
+
attr_accessor :restriction_mode
|
640
|
+
|
641
|
+
def initialize(**args)
|
642
|
+
update!(**args)
|
643
|
+
end
|
644
|
+
|
645
|
+
# Update properties of this object
|
646
|
+
def update!(**args)
|
647
|
+
@effective_time = args[:effective_time] if args.key?(:effective_time)
|
648
|
+
@restriction_mode = args[:restriction_mode] if args.key?(:restriction_mode)
|
649
|
+
end
|
650
|
+
end
|
651
|
+
|
652
|
+
# If set, the new objects created in this bucket must comply with this
|
653
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
654
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
655
|
+
# encrypted with Customer Supplied Encryption type by default.
|
656
|
+
class CustomerSuppliedEncryptionEnforcementConfig
|
657
|
+
include Google::Apis::Core::Hashable
|
658
|
+
|
659
|
+
# Server-determined value that indicates the time from which configuration was
|
660
|
+
# enforced and effective. This value is in RFC 3339 format.
|
661
|
+
# Corresponds to the JSON property `effectiveTime`
|
662
|
+
# @return [DateTime]
|
663
|
+
attr_accessor :effective_time
|
664
|
+
|
665
|
+
# Restriction mode for Customer-Supplied Encryption Keys. Defaults to
|
666
|
+
# NotRestricted.
|
667
|
+
# Corresponds to the JSON property `restrictionMode`
|
668
|
+
# @return [String]
|
669
|
+
attr_accessor :restriction_mode
|
670
|
+
|
671
|
+
def initialize(**args)
|
672
|
+
update!(**args)
|
673
|
+
end
|
674
|
+
|
675
|
+
# Update properties of this object
|
676
|
+
def update!(**args)
|
677
|
+
@effective_time = args[:effective_time] if args.key?(:effective_time)
|
678
|
+
@restriction_mode = args[:restriction_mode] if args.key?(:restriction_mode)
|
679
|
+
end
|
680
|
+
end
|
681
|
+
|
682
|
+
# If set, the new objects created in this bucket must comply with this
|
683
|
+
# enforcement config. Changing this has no effect on existing objects; it
|
684
|
+
# applies to new objects only. If omitted, the new objects are allowed to be
|
685
|
+
# encrypted with Google Managed Encryption type by default.
|
686
|
+
class GoogleManagedEncryptionEnforcementConfig
|
687
|
+
include Google::Apis::Core::Hashable
|
688
|
+
|
689
|
+
# Server-determined value that indicates the time from which configuration was
|
690
|
+
# enforced and effective. This value is in RFC 3339 format.
|
691
|
+
# Corresponds to the JSON property `effectiveTime`
|
692
|
+
# @return [DateTime]
|
693
|
+
attr_accessor :effective_time
|
694
|
+
|
695
|
+
# Restriction mode for Google-Managed Encryption Keys. Defaults to NotRestricted.
|
696
|
+
# Corresponds to the JSON property `restrictionMode`
|
697
|
+
# @return [String]
|
698
|
+
attr_accessor :restriction_mode
|
699
|
+
|
700
|
+
def initialize(**args)
|
701
|
+
update!(**args)
|
702
|
+
end
|
703
|
+
|
704
|
+
# Update properties of this object
|
705
|
+
def update!(**args)
|
706
|
+
@effective_time = args[:effective_time] if args.key?(:effective_time)
|
707
|
+
@restriction_mode = args[:restriction_mode] if args.key?(:restriction_mode)
|
708
|
+
end
|
709
|
+
end
|
710
|
+
end
|
711
|
+
|
712
|
+
# The bucket's hierarchical namespace configuration.
|
713
|
+
class HierarchicalNamespace
|
714
|
+
include Google::Apis::Core::Hashable
|
715
|
+
|
716
|
+
# When set to true, hierarchical namespace is enabled for this bucket.
|
717
|
+
# Corresponds to the JSON property `enabled`
|
718
|
+
# @return [Boolean]
|
719
|
+
attr_accessor :enabled
|
720
|
+
alias_method :enabled?, :enabled
|
721
|
+
|
722
|
+
def initialize(**args)
|
723
|
+
update!(**args)
|
724
|
+
end
|
725
|
+
|
726
|
+
# Update properties of this object
|
727
|
+
def update!(**args)
|
728
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
404
729
|
end
|
405
730
|
end
|
406
731
|
|
@@ -502,8 +827,104 @@ module Google
|
|
502
827
|
end
|
503
828
|
end
|
504
829
|
|
505
|
-
# The bucket's
|
506
|
-
#
|
830
|
+
# The bucket's IP filter configuration. Specifies the network sources that are
|
831
|
+
# allowed to access the operations on the bucket, as well as its underlying
|
832
|
+
# objects. Only enforced when the mode is set to 'Enabled'.
|
833
|
+
class IpFilter
|
834
|
+
include Google::Apis::Core::Hashable
|
835
|
+
|
836
|
+
# Whether to allow all service agents to access the bucket regardless of the IP
|
837
|
+
# filter configuration.
|
838
|
+
# Corresponds to the JSON property `allowAllServiceAgentAccess`
|
839
|
+
# @return [Boolean]
|
840
|
+
attr_accessor :allow_all_service_agent_access
|
841
|
+
alias_method :allow_all_service_agent_access?, :allow_all_service_agent_access
|
842
|
+
|
843
|
+
# Whether to allow cross-org VPCs in the bucket's IP filter configuration.
|
844
|
+
# Corresponds to the JSON property `allowCrossOrgVpcs`
|
845
|
+
# @return [Boolean]
|
846
|
+
attr_accessor :allow_cross_org_vpcs
|
847
|
+
alias_method :allow_cross_org_vpcs?, :allow_cross_org_vpcs
|
848
|
+
|
849
|
+
# The mode of the IP filter. Valid values are 'Enabled' and 'Disabled'.
|
850
|
+
# Corresponds to the JSON property `mode`
|
851
|
+
# @return [String]
|
852
|
+
attr_accessor :mode
|
853
|
+
|
854
|
+
# The public network source of the bucket's IP filter.
|
855
|
+
# Corresponds to the JSON property `publicNetworkSource`
|
856
|
+
# @return [Google::Apis::StorageV1::Bucket::IpFilter::PublicNetworkSource]
|
857
|
+
attr_accessor :public_network_source
|
858
|
+
|
859
|
+
# The list of [VPC network](https://cloud.google.com/vpc/docs/vpc) sources of
|
860
|
+
# the bucket's IP filter.
|
861
|
+
# Corresponds to the JSON property `vpcNetworkSources`
|
862
|
+
# @return [Array<Google::Apis::StorageV1::Bucket::IpFilter::VpcNetworkSource>]
|
863
|
+
attr_accessor :vpc_network_sources
|
864
|
+
|
865
|
+
def initialize(**args)
|
866
|
+
update!(**args)
|
867
|
+
end
|
868
|
+
|
869
|
+
# Update properties of this object
|
870
|
+
def update!(**args)
|
871
|
+
@allow_all_service_agent_access = args[:allow_all_service_agent_access] if args.key?(:allow_all_service_agent_access)
|
872
|
+
@allow_cross_org_vpcs = args[:allow_cross_org_vpcs] if args.key?(:allow_cross_org_vpcs)
|
873
|
+
@mode = args[:mode] if args.key?(:mode)
|
874
|
+
@public_network_source = args[:public_network_source] if args.key?(:public_network_source)
|
875
|
+
@vpc_network_sources = args[:vpc_network_sources] if args.key?(:vpc_network_sources)
|
876
|
+
end
|
877
|
+
|
878
|
+
# The public network source of the bucket's IP filter.
|
879
|
+
class PublicNetworkSource
|
880
|
+
include Google::Apis::Core::Hashable
|
881
|
+
|
882
|
+
# The list of public IPv4, IPv6 cidr ranges that are allowed to access the
|
883
|
+
# bucket.
|
884
|
+
# Corresponds to the JSON property `allowedIpCidrRanges`
|
885
|
+
# @return [Array<String>]
|
886
|
+
attr_accessor :allowed_ip_cidr_ranges
|
887
|
+
|
888
|
+
def initialize(**args)
|
889
|
+
update!(**args)
|
890
|
+
end
|
891
|
+
|
892
|
+
# Update properties of this object
|
893
|
+
def update!(**args)
|
894
|
+
@allowed_ip_cidr_ranges = args[:allowed_ip_cidr_ranges] if args.key?(:allowed_ip_cidr_ranges)
|
895
|
+
end
|
896
|
+
end
|
897
|
+
|
898
|
+
#
|
899
|
+
class VpcNetworkSource
|
900
|
+
include Google::Apis::Core::Hashable
|
901
|
+
|
902
|
+
# The list of IPv4, IPv6 cidr ranges subnetworks that are allowed to access the
|
903
|
+
# bucket.
|
904
|
+
# Corresponds to the JSON property `allowedIpCidrRanges`
|
905
|
+
# @return [Array<String>]
|
906
|
+
attr_accessor :allowed_ip_cidr_ranges
|
907
|
+
|
908
|
+
# Name of the network. Format: projects/`PROJECT_ID`/global/networks/`
|
909
|
+
# NETWORK_NAME`
|
910
|
+
# Corresponds to the JSON property `network`
|
911
|
+
# @return [String]
|
912
|
+
attr_accessor :network
|
913
|
+
|
914
|
+
def initialize(**args)
|
915
|
+
update!(**args)
|
916
|
+
end
|
917
|
+
|
918
|
+
# Update properties of this object
|
919
|
+
def update!(**args)
|
920
|
+
@allowed_ip_cidr_ranges = args[:allowed_ip_cidr_ranges] if args.key?(:allowed_ip_cidr_ranges)
|
921
|
+
@network = args[:network] if args.key?(:network)
|
922
|
+
end
|
923
|
+
end
|
924
|
+
end
|
925
|
+
|
926
|
+
# The bucket's lifecycle configuration. See [Lifecycle Management](https://cloud.
|
927
|
+
# google.com/storage/docs/lifecycle) for more information.
|
507
928
|
class Lifecycle
|
508
929
|
include Google::Apis::Core::Hashable
|
509
930
|
|
@@ -809,7 +1230,7 @@ module Google
|
|
809
1230
|
# @return [DateTime]
|
810
1231
|
attr_accessor :effective_time
|
811
1232
|
|
812
|
-
# The
|
1233
|
+
# The duration in seconds that soft-deleted objects in the bucket will be
|
813
1234
|
# retained and cannot be permanently deleted.
|
814
1235
|
# Corresponds to the JSON property `retentionDurationSeconds`
|
815
1236
|
# @return [Fixnum]
|
@@ -847,8 +1268,8 @@ module Google
|
|
847
1268
|
end
|
848
1269
|
|
849
1270
|
# The bucket's website configuration, controlling how the service behaves when
|
850
|
-
# accessing bucket contents as a web site. See the Static Website Examples
|
851
|
-
# more information.
|
1271
|
+
# accessing bucket contents as a web site. See the [Static Website Examples](
|
1272
|
+
# https://cloud.google.com/storage/docs/static-website) for more information.
|
852
1273
|
class Website
|
853
1274
|
include Google::Apis::Core::Hashable
|
854
1275
|
|
@@ -1022,6 +1443,95 @@ module Google
|
|
1022
1443
|
end
|
1023
1444
|
end
|
1024
1445
|
|
1446
|
+
# The storage layout configuration of a bucket.
|
1447
|
+
class BucketStorageLayout
|
1448
|
+
include Google::Apis::Core::Hashable
|
1449
|
+
|
1450
|
+
# The name of the bucket.
|
1451
|
+
# Corresponds to the JSON property `bucket`
|
1452
|
+
# @return [String]
|
1453
|
+
attr_accessor :bucket
|
1454
|
+
|
1455
|
+
# The bucket's custom placement configuration for Custom Dual Regions.
|
1456
|
+
# Corresponds to the JSON property `customPlacementConfig`
|
1457
|
+
# @return [Google::Apis::StorageV1::BucketStorageLayout::CustomPlacementConfig]
|
1458
|
+
attr_accessor :custom_placement_config
|
1459
|
+
|
1460
|
+
# The bucket's hierarchical namespace configuration.
|
1461
|
+
# Corresponds to the JSON property `hierarchicalNamespace`
|
1462
|
+
# @return [Google::Apis::StorageV1::BucketStorageLayout::HierarchicalNamespace]
|
1463
|
+
attr_accessor :hierarchical_namespace
|
1464
|
+
|
1465
|
+
# The kind of item this is. For storage layout, this is always storage#
|
1466
|
+
# storageLayout.
|
1467
|
+
# Corresponds to the JSON property `kind`
|
1468
|
+
# @return [String]
|
1469
|
+
attr_accessor :kind
|
1470
|
+
|
1471
|
+
# The location of the bucket.
|
1472
|
+
# Corresponds to the JSON property `location`
|
1473
|
+
# @return [String]
|
1474
|
+
attr_accessor :location
|
1475
|
+
|
1476
|
+
# The type of the bucket location.
|
1477
|
+
# Corresponds to the JSON property `locationType`
|
1478
|
+
# @return [String]
|
1479
|
+
attr_accessor :location_type
|
1480
|
+
|
1481
|
+
def initialize(**args)
|
1482
|
+
update!(**args)
|
1483
|
+
end
|
1484
|
+
|
1485
|
+
# Update properties of this object
|
1486
|
+
def update!(**args)
|
1487
|
+
@bucket = args[:bucket] if args.key?(:bucket)
|
1488
|
+
@custom_placement_config = args[:custom_placement_config] if args.key?(:custom_placement_config)
|
1489
|
+
@hierarchical_namespace = args[:hierarchical_namespace] if args.key?(:hierarchical_namespace)
|
1490
|
+
@kind = args[:kind] if args.key?(:kind)
|
1491
|
+
@location = args[:location] if args.key?(:location)
|
1492
|
+
@location_type = args[:location_type] if args.key?(:location_type)
|
1493
|
+
end
|
1494
|
+
|
1495
|
+
# The bucket's custom placement configuration for Custom Dual Regions.
|
1496
|
+
class CustomPlacementConfig
|
1497
|
+
include Google::Apis::Core::Hashable
|
1498
|
+
|
1499
|
+
# The list of regional locations in which data is placed.
|
1500
|
+
# Corresponds to the JSON property `dataLocations`
|
1501
|
+
# @return [Array<String>]
|
1502
|
+
attr_accessor :data_locations
|
1503
|
+
|
1504
|
+
def initialize(**args)
|
1505
|
+
update!(**args)
|
1506
|
+
end
|
1507
|
+
|
1508
|
+
# Update properties of this object
|
1509
|
+
def update!(**args)
|
1510
|
+
@data_locations = args[:data_locations] if args.key?(:data_locations)
|
1511
|
+
end
|
1512
|
+
end
|
1513
|
+
|
1514
|
+
# The bucket's hierarchical namespace configuration.
|
1515
|
+
class HierarchicalNamespace
|
1516
|
+
include Google::Apis::Core::Hashable
|
1517
|
+
|
1518
|
+
# When set to true, hierarchical namespace is enabled for this bucket.
|
1519
|
+
# Corresponds to the JSON property `enabled`
|
1520
|
+
# @return [Boolean]
|
1521
|
+
attr_accessor :enabled
|
1522
|
+
alias_method :enabled?, :enabled
|
1523
|
+
|
1524
|
+
def initialize(**args)
|
1525
|
+
update!(**args)
|
1526
|
+
end
|
1527
|
+
|
1528
|
+
# Update properties of this object
|
1529
|
+
def update!(**args)
|
1530
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
1531
|
+
end
|
1532
|
+
end
|
1533
|
+
end
|
1534
|
+
|
1025
1535
|
# A list of buckets.
|
1026
1536
|
class Buckets
|
1027
1537
|
include Google::Apis::Core::Hashable
|
@@ -1312,10 +1822,137 @@ module Google
|
|
1312
1822
|
end
|
1313
1823
|
end
|
1314
1824
|
|
1825
|
+
# A folder. Only available in buckets with hierarchical namespace enabled.
|
1826
|
+
class Folder
|
1827
|
+
include Google::Apis::Core::Hashable
|
1828
|
+
|
1829
|
+
# The name of the bucket containing this folder.
|
1830
|
+
# Corresponds to the JSON property `bucket`
|
1831
|
+
# @return [String]
|
1832
|
+
attr_accessor :bucket
|
1833
|
+
|
1834
|
+
# The creation time of the folder in RFC 3339 format.
|
1835
|
+
# Corresponds to the JSON property `createTime`
|
1836
|
+
# @return [DateTime]
|
1837
|
+
attr_accessor :create_time
|
1838
|
+
|
1839
|
+
# The ID of the folder, including the bucket name, folder name.
|
1840
|
+
# Corresponds to the JSON property `id`
|
1841
|
+
# @return [String]
|
1842
|
+
attr_accessor :id
|
1843
|
+
|
1844
|
+
# The kind of item this is. For folders, this is always storage#folder.
|
1845
|
+
# Corresponds to the JSON property `kind`
|
1846
|
+
# @return [String]
|
1847
|
+
attr_accessor :kind
|
1848
|
+
|
1849
|
+
# The version of the metadata for this folder. Used for preconditions and for
|
1850
|
+
# detecting changes in metadata.
|
1851
|
+
# Corresponds to the JSON property `metageneration`
|
1852
|
+
# @return [Fixnum]
|
1853
|
+
attr_accessor :metageneration
|
1854
|
+
|
1855
|
+
# The name of the folder. Required if not specified by URL parameter.
|
1856
|
+
# Corresponds to the JSON property `name`
|
1857
|
+
# @return [String]
|
1858
|
+
attr_accessor :name
|
1859
|
+
|
1860
|
+
# Only present if the folder is part of an ongoing rename folder operation.
|
1861
|
+
# Contains information which can be used to query the operation status.
|
1862
|
+
# Corresponds to the JSON property `pendingRenameInfo`
|
1863
|
+
# @return [Google::Apis::StorageV1::Folder::PendingRenameInfo]
|
1864
|
+
attr_accessor :pending_rename_info
|
1865
|
+
|
1866
|
+
# The link to this folder.
|
1867
|
+
# Corresponds to the JSON property `selfLink`
|
1868
|
+
# @return [String]
|
1869
|
+
attr_accessor :self_link
|
1870
|
+
|
1871
|
+
# The modification time of the folder metadata in RFC 3339 format.
|
1872
|
+
# Corresponds to the JSON property `updateTime`
|
1873
|
+
# @return [DateTime]
|
1874
|
+
attr_accessor :update_time
|
1875
|
+
|
1876
|
+
def initialize(**args)
|
1877
|
+
update!(**args)
|
1878
|
+
end
|
1879
|
+
|
1880
|
+
# Update properties of this object
|
1881
|
+
def update!(**args)
|
1882
|
+
@bucket = args[:bucket] if args.key?(:bucket)
|
1883
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1884
|
+
@id = args[:id] if args.key?(:id)
|
1885
|
+
@kind = args[:kind] if args.key?(:kind)
|
1886
|
+
@metageneration = args[:metageneration] if args.key?(:metageneration)
|
1887
|
+
@name = args[:name] if args.key?(:name)
|
1888
|
+
@pending_rename_info = args[:pending_rename_info] if args.key?(:pending_rename_info)
|
1889
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
1890
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1891
|
+
end
|
1892
|
+
|
1893
|
+
# Only present if the folder is part of an ongoing rename folder operation.
|
1894
|
+
# Contains information which can be used to query the operation status.
|
1895
|
+
class PendingRenameInfo
|
1896
|
+
include Google::Apis::Core::Hashable
|
1897
|
+
|
1898
|
+
# The ID of the rename folder operation.
|
1899
|
+
# Corresponds to the JSON property `operationId`
|
1900
|
+
# @return [String]
|
1901
|
+
attr_accessor :operation_id
|
1902
|
+
|
1903
|
+
def initialize(**args)
|
1904
|
+
update!(**args)
|
1905
|
+
end
|
1906
|
+
|
1907
|
+
# Update properties of this object
|
1908
|
+
def update!(**args)
|
1909
|
+
@operation_id = args[:operation_id] if args.key?(:operation_id)
|
1910
|
+
end
|
1911
|
+
end
|
1912
|
+
end
|
1913
|
+
|
1914
|
+
# A list of folders.
|
1915
|
+
class Folders
|
1916
|
+
include Google::Apis::Core::Hashable
|
1917
|
+
|
1918
|
+
# The list of items.
|
1919
|
+
# Corresponds to the JSON property `items`
|
1920
|
+
# @return [Array<Google::Apis::StorageV1::Folder>]
|
1921
|
+
attr_accessor :items
|
1922
|
+
|
1923
|
+
# The kind of item this is. For lists of folders, this is always storage#folders.
|
1924
|
+
# Corresponds to the JSON property `kind`
|
1925
|
+
# @return [String]
|
1926
|
+
attr_accessor :kind
|
1927
|
+
|
1928
|
+
# The continuation token, used to page through large result sets. Provide this
|
1929
|
+
# value in a subsequent request to return the next page of results.
|
1930
|
+
# Corresponds to the JSON property `nextPageToken`
|
1931
|
+
# @return [String]
|
1932
|
+
attr_accessor :next_page_token
|
1933
|
+
|
1934
|
+
def initialize(**args)
|
1935
|
+
update!(**args)
|
1936
|
+
end
|
1937
|
+
|
1938
|
+
# Update properties of this object
|
1939
|
+
def update!(**args)
|
1940
|
+
@items = args[:items] if args.key?(:items)
|
1941
|
+
@kind = args[:kind] if args.key?(:kind)
|
1942
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1943
|
+
end
|
1944
|
+
end
|
1945
|
+
|
1315
1946
|
# The response message for storage.buckets.operations.list.
|
1316
1947
|
class GoogleLongrunningListOperationsResponse
|
1317
1948
|
include Google::Apis::Core::Hashable
|
1318
1949
|
|
1950
|
+
# The kind of item this is. For lists of operations, this is always storage#
|
1951
|
+
# operations.
|
1952
|
+
# Corresponds to the JSON property `kind`
|
1953
|
+
# @return [String]
|
1954
|
+
attr_accessor :kind
|
1955
|
+
|
1319
1956
|
# The continuation token, used to page through large result sets. Provide this
|
1320
1957
|
# value in a subsequent request to return the next page of results.
|
1321
1958
|
# Corresponds to the JSON property `nextPageToken`
|
@@ -1333,6 +1970,7 @@ module Google
|
|
1333
1970
|
|
1334
1971
|
# Update properties of this object
|
1335
1972
|
def update!(**args)
|
1973
|
+
@kind = args[:kind] if args.key?(:kind)
|
1336
1974
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1337
1975
|
@operations = args[:operations] if args.key?(:operations)
|
1338
1976
|
end
|
@@ -1360,6 +1998,11 @@ module Google
|
|
1360
1998
|
# @return [Google::Apis::StorageV1::GoogleRpcStatus]
|
1361
1999
|
attr_accessor :error
|
1362
2000
|
|
2001
|
+
# The kind of item this is. For operations, this is always storage#operation.
|
2002
|
+
# Corresponds to the JSON property `kind`
|
2003
|
+
# @return [String]
|
2004
|
+
attr_accessor :kind
|
2005
|
+
|
1363
2006
|
# Service-specific metadata associated with the operation. It typically contains
|
1364
2007
|
# progress information and common metadata such as create time. Some services
|
1365
2008
|
# might not provide such metadata. Any method that returns a long-running
|
@@ -1386,6 +2029,11 @@ module Google
|
|
1386
2029
|
# @return [Hash<String,Object>]
|
1387
2030
|
attr_accessor :response
|
1388
2031
|
|
2032
|
+
# The link to this long running operation.
|
2033
|
+
# Corresponds to the JSON property `selfLink`
|
2034
|
+
# @return [String]
|
2035
|
+
attr_accessor :self_link
|
2036
|
+
|
1389
2037
|
def initialize(**args)
|
1390
2038
|
update!(**args)
|
1391
2039
|
end
|
@@ -1394,9 +2042,11 @@ module Google
|
|
1394
2042
|
def update!(**args)
|
1395
2043
|
@done = args[:done] if args.key?(:done)
|
1396
2044
|
@error = args[:error] if args.key?(:error)
|
2045
|
+
@kind = args[:kind] if args.key?(:kind)
|
1397
2046
|
@metadata = args[:metadata] if args.key?(:metadata)
|
1398
2047
|
@name = args[:name] if args.key?(:name)
|
1399
2048
|
@response = args[:response] if args.key?(:response)
|
2049
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
1400
2050
|
end
|
1401
2051
|
end
|
1402
2052
|
|
@@ -1817,9 +2467,17 @@ module Google
|
|
1817
2467
|
# @return [String]
|
1818
2468
|
attr_accessor :content_type
|
1819
2469
|
|
2470
|
+
# User-defined or system-defined object contexts. Each object context is a key-
|
2471
|
+
# payload pair, where the key provides the identification and the payload holds
|
2472
|
+
# the associated value and additional metadata.
|
2473
|
+
# Corresponds to the JSON property `contexts`
|
2474
|
+
# @return [Google::Apis::StorageV1::Object::Contexts]
|
2475
|
+
attr_accessor :contexts
|
2476
|
+
|
1820
2477
|
# CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in
|
1821
2478
|
# big-endian byte order. For more information about using the CRC32c checksum,
|
1822
|
-
# see
|
2479
|
+
# see [Data Validation and Change Detection](https://cloud.google.com/storage/
|
2480
|
+
# docs/data-validation).
|
1823
2481
|
# Corresponds to the JSON property `crc32c`
|
1824
2482
|
# @return [String]
|
1825
2483
|
attr_accessor :crc32c
|
@@ -1886,7 +2544,8 @@ module Google
|
|
1886
2544
|
attr_accessor :kms_key_name
|
1887
2545
|
|
1888
2546
|
# MD5 hash of the data; encoded using base64. For more information about using
|
1889
|
-
# the MD5 hash, see
|
2547
|
+
# the MD5 hash, see [Data Validation and Change Detection](https://cloud.google.
|
2548
|
+
# com/storage/docs/data-validation).
|
1890
2549
|
# Corresponds to the JSON property `md5Hash`
|
1891
2550
|
# @return [String]
|
1892
2551
|
attr_accessor :md5_hash
|
@@ -1919,6 +2578,13 @@ module Google
|
|
1919
2578
|
# @return [Google::Apis::StorageV1::Object::Owner]
|
1920
2579
|
attr_accessor :owner
|
1921
2580
|
|
2581
|
+
# Restore token used to differentiate deleted objects with the same name and
|
2582
|
+
# generation. This field is only returned for deleted objects in hierarchical
|
2583
|
+
# namespace buckets.
|
2584
|
+
# Corresponds to the JSON property `restoreToken`
|
2585
|
+
# @return [String]
|
2586
|
+
attr_accessor :restore_token
|
2587
|
+
|
1922
2588
|
# A collection of object level retention parameters.
|
1923
2589
|
# Corresponds to the JSON property `retention`
|
1924
2590
|
# @return [Google::Apis::StorageV1::Object::Retention]
|
@@ -1975,6 +2641,11 @@ module Google
|
|
1975
2641
|
# @return [DateTime]
|
1976
2642
|
attr_accessor :time_deleted
|
1977
2643
|
|
2644
|
+
# The time when the object was finalized.
|
2645
|
+
# Corresponds to the JSON property `timeFinalized`
|
2646
|
+
# @return [DateTime]
|
2647
|
+
attr_accessor :time_finalized
|
2648
|
+
|
1978
2649
|
# The time at which the object's storage class was last changed. When the object
|
1979
2650
|
# is initially created, it will be set to timeCreated.
|
1980
2651
|
# Corresponds to the JSON property `timeStorageClassUpdated`
|
@@ -2004,6 +2675,7 @@ module Google
|
|
2004
2675
|
@content_encoding = args[:content_encoding] if args.key?(:content_encoding)
|
2005
2676
|
@content_language = args[:content_language] if args.key?(:content_language)
|
2006
2677
|
@content_type = args[:content_type] if args.key?(:content_type)
|
2678
|
+
@contexts = args[:contexts] if args.key?(:contexts)
|
2007
2679
|
@crc32c = args[:crc32c] if args.key?(:crc32c)
|
2008
2680
|
@custom_time = args[:custom_time] if args.key?(:custom_time)
|
2009
2681
|
@customer_encryption = args[:customer_encryption] if args.key?(:customer_encryption)
|
@@ -2020,6 +2692,7 @@ module Google
|
|
2020
2692
|
@metageneration = args[:metageneration] if args.key?(:metageneration)
|
2021
2693
|
@name = args[:name] if args.key?(:name)
|
2022
2694
|
@owner = args[:owner] if args.key?(:owner)
|
2695
|
+
@restore_token = args[:restore_token] if args.key?(:restore_token)
|
2023
2696
|
@retention = args[:retention] if args.key?(:retention)
|
2024
2697
|
@retention_expiration_time = args[:retention_expiration_time] if args.key?(:retention_expiration_time)
|
2025
2698
|
@self_link = args[:self_link] if args.key?(:self_link)
|
@@ -2029,10 +2702,32 @@ module Google
|
|
2029
2702
|
@temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
|
2030
2703
|
@time_created = args[:time_created] if args.key?(:time_created)
|
2031
2704
|
@time_deleted = args[:time_deleted] if args.key?(:time_deleted)
|
2705
|
+
@time_finalized = args[:time_finalized] if args.key?(:time_finalized)
|
2032
2706
|
@time_storage_class_updated = args[:time_storage_class_updated] if args.key?(:time_storage_class_updated)
|
2033
2707
|
@updated = args[:updated] if args.key?(:updated)
|
2034
2708
|
end
|
2035
2709
|
|
2710
|
+
# User-defined or system-defined object contexts. Each object context is a key-
|
2711
|
+
# payload pair, where the key provides the identification and the payload holds
|
2712
|
+
# the associated value and additional metadata.
|
2713
|
+
class Contexts
|
2714
|
+
include Google::Apis::Core::Hashable
|
2715
|
+
|
2716
|
+
# User-defined object contexts.
|
2717
|
+
# Corresponds to the JSON property `custom`
|
2718
|
+
# @return [Hash<String,Google::Apis::StorageV1::ObjectCustomContextPayload>]
|
2719
|
+
attr_accessor :custom
|
2720
|
+
|
2721
|
+
def initialize(**args)
|
2722
|
+
update!(**args)
|
2723
|
+
end
|
2724
|
+
|
2725
|
+
# Update properties of this object
|
2726
|
+
def update!(**args)
|
2727
|
+
@custom = args[:custom] if args.key?(:custom)
|
2728
|
+
end
|
2729
|
+
end
|
2730
|
+
|
2036
2731
|
# Metadata of customer-supplied encryption key, if the object is encrypted by
|
2037
2732
|
# such a key.
|
2038
2733
|
class CustomerEncryption
|
@@ -2265,6 +2960,37 @@ module Google
|
|
2265
2960
|
end
|
2266
2961
|
end
|
2267
2962
|
|
2963
|
+
# The payload of a single user-defined object context.
|
2964
|
+
class ObjectCustomContextPayload
|
2965
|
+
include Google::Apis::Core::Hashable
|
2966
|
+
|
2967
|
+
# The time at which the object context was created in RFC 3339 format.
|
2968
|
+
# Corresponds to the JSON property `createTime`
|
2969
|
+
# @return [DateTime]
|
2970
|
+
attr_accessor :create_time
|
2971
|
+
|
2972
|
+
# The time at which the object context was last updated in RFC 3339 format.
|
2973
|
+
# Corresponds to the JSON property `updateTime`
|
2974
|
+
# @return [DateTime]
|
2975
|
+
attr_accessor :update_time
|
2976
|
+
|
2977
|
+
# The value of the object context.
|
2978
|
+
# Corresponds to the JSON property `value`
|
2979
|
+
# @return [String]
|
2980
|
+
attr_accessor :value
|
2981
|
+
|
2982
|
+
def initialize(**args)
|
2983
|
+
update!(**args)
|
2984
|
+
end
|
2985
|
+
|
2986
|
+
# Update properties of this object
|
2987
|
+
def update!(**args)
|
2988
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2989
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2990
|
+
@value = args[:value] if args.key?(:value)
|
2991
|
+
end
|
2992
|
+
end
|
2993
|
+
|
2268
2994
|
# A list of objects.
|
2269
2995
|
class Objects
|
2270
2996
|
include Google::Apis::Core::Hashable
|
@@ -2367,23 +3093,23 @@ module Google
|
|
2367
3093
|
|
2368
3094
|
# A collection of identifiers for members who may assume the provided role.
|
2369
3095
|
# Recognized identifiers are as follows:
|
2370
|
-
# - allUsers
|
3096
|
+
# - allUsers - A special identifier that represents anyone on the internet; with
|
2371
3097
|
# or without a Google account.
|
2372
|
-
# - allAuthenticatedUsers
|
3098
|
+
# - allAuthenticatedUsers - A special identifier that represents anyone who is
|
2373
3099
|
# authenticated with a Google account or a service account.
|
2374
|
-
# - user:emailid
|
3100
|
+
# - user:emailid - An email address that represents a specific account. For
|
2375
3101
|
# example, user:alice@gmail.com or user:joe@example.com.
|
2376
|
-
# - serviceAccount:emailid
|
3102
|
+
# - serviceAccount:emailid - An email address that represents a service account.
|
2377
3103
|
# For example, serviceAccount:my-other-app@appspot.gserviceaccount.com .
|
2378
|
-
# - group:emailid
|
3104
|
+
# - group:emailid - An email address that represents a Google group. For example,
|
2379
3105
|
# group:admins@example.com.
|
2380
|
-
# - domain:domain
|
3106
|
+
# - domain:domain - A Google Apps domain name that represents all the users of
|
2381
3107
|
# that domain. For example, domain:google.com or domain:example.com.
|
2382
|
-
# - projectOwner:projectid
|
3108
|
+
# - projectOwner:projectid - Owners of the given project. For example,
|
2383
3109
|
# projectOwner:my-example-project
|
2384
|
-
# - projectEditor:projectid
|
3110
|
+
# - projectEditor:projectid - Editors of the given project. For example,
|
2385
3111
|
# projectEditor:my-example-project
|
2386
|
-
# - projectViewer:projectid
|
3112
|
+
# - projectViewer:projectid - Viewers of the given project. For example,
|
2387
3113
|
# projectViewer:my-example-project
|
2388
3114
|
# Corresponds to the JSON property `members`
|
2389
3115
|
# @return [Array<String>]
|
@@ -2394,23 +3120,23 @@ module Google
|
|
2394
3120
|
# ACLs, and legacy IAM roles, which do map directly to ACL permissions. All
|
2395
3121
|
# roles are of the format roles/storage.specificRole.
|
2396
3122
|
# The new IAM roles are:
|
2397
|
-
# - roles/storage.admin
|
2398
|
-
# - roles/storage.objectViewer
|
3123
|
+
# - roles/storage.admin - Full control of Google Cloud Storage resources.
|
3124
|
+
# - roles/storage.objectViewer - Read-Only access to Google Cloud Storage
|
2399
3125
|
# objects.
|
2400
|
-
# - roles/storage.objectCreator
|
3126
|
+
# - roles/storage.objectCreator - Access to create objects in Google Cloud
|
2401
3127
|
# Storage.
|
2402
|
-
# - roles/storage.objectAdmin
|
3128
|
+
# - roles/storage.objectAdmin - Full control of Google Cloud Storage objects.
|
2403
3129
|
# The legacy IAM roles are:
|
2404
|
-
# - roles/storage.legacyObjectReader
|
3130
|
+
# - roles/storage.legacyObjectReader - Read-only access to objects without
|
2405
3131
|
# listing. Equivalent to an ACL entry on an object with the READER role.
|
2406
|
-
# - roles/storage.legacyObjectOwner
|
3132
|
+
# - roles/storage.legacyObjectOwner - Read/write access to existing objects
|
2407
3133
|
# without listing. Equivalent to an ACL entry on an object with the OWNER role.
|
2408
|
-
# - roles/storage.legacyBucketReader
|
3134
|
+
# - roles/storage.legacyBucketReader - Read access to buckets with object
|
2409
3135
|
# listing. Equivalent to an ACL entry on a bucket with the READER role.
|
2410
|
-
# - roles/storage.legacyBucketWriter
|
3136
|
+
# - roles/storage.legacyBucketWriter - Read access to buckets with object
|
2411
3137
|
# listing/creation/deletion. Equivalent to an ACL entry on a bucket with the
|
2412
3138
|
# WRITER role.
|
2413
|
-
# - roles/storage.legacyBucketOwner
|
3139
|
+
# - roles/storage.legacyBucketOwner - Read and write access to existing buckets
|
2414
3140
|
# with object listing/creation/deletion. Equivalent to an ACL entry on a bucket
|
2415
3141
|
# with the OWNER role.
|
2416
3142
|
# Corresponds to the JSON property `role`
|
@@ -2430,6 +3156,59 @@ module Google
|
|
2430
3156
|
end
|
2431
3157
|
end
|
2432
3158
|
|
3159
|
+
# A Relocate Bucket request.
|
3160
|
+
class RelocateBucketRequest
|
3161
|
+
include Google::Apis::Core::Hashable
|
3162
|
+
|
3163
|
+
# The bucket's new custom placement configuration if relocating to a Custom Dual
|
3164
|
+
# Region.
|
3165
|
+
# Corresponds to the JSON property `destinationCustomPlacementConfig`
|
3166
|
+
# @return [Google::Apis::StorageV1::RelocateBucketRequest::DestinationCustomPlacementConfig]
|
3167
|
+
attr_accessor :destination_custom_placement_config
|
3168
|
+
|
3169
|
+
# The new location the bucket will be relocated to.
|
3170
|
+
# Corresponds to the JSON property `destinationLocation`
|
3171
|
+
# @return [String]
|
3172
|
+
attr_accessor :destination_location
|
3173
|
+
|
3174
|
+
# If true, validate the operation, but do not actually relocate the bucket.
|
3175
|
+
# Corresponds to the JSON property `validateOnly`
|
3176
|
+
# @return [Boolean]
|
3177
|
+
attr_accessor :validate_only
|
3178
|
+
alias_method :validate_only?, :validate_only
|
3179
|
+
|
3180
|
+
def initialize(**args)
|
3181
|
+
update!(**args)
|
3182
|
+
end
|
3183
|
+
|
3184
|
+
# Update properties of this object
|
3185
|
+
def update!(**args)
|
3186
|
+
@destination_custom_placement_config = args[:destination_custom_placement_config] if args.key?(:destination_custom_placement_config)
|
3187
|
+
@destination_location = args[:destination_location] if args.key?(:destination_location)
|
3188
|
+
@validate_only = args[:validate_only] if args.key?(:validate_only)
|
3189
|
+
end
|
3190
|
+
|
3191
|
+
# The bucket's new custom placement configuration if relocating to a Custom Dual
|
3192
|
+
# Region.
|
3193
|
+
class DestinationCustomPlacementConfig
|
3194
|
+
include Google::Apis::Core::Hashable
|
3195
|
+
|
3196
|
+
# The list of regional locations in which data is placed.
|
3197
|
+
# Corresponds to the JSON property `dataLocations`
|
3198
|
+
# @return [Array<String>]
|
3199
|
+
attr_accessor :data_locations
|
3200
|
+
|
3201
|
+
def initialize(**args)
|
3202
|
+
update!(**args)
|
3203
|
+
end
|
3204
|
+
|
3205
|
+
# Update properties of this object
|
3206
|
+
def update!(**args)
|
3207
|
+
@data_locations = args[:data_locations] if args.key?(:data_locations)
|
3208
|
+
end
|
3209
|
+
end
|
3210
|
+
end
|
3211
|
+
|
2433
3212
|
# A rewrite response.
|
2434
3213
|
class RewriteResponse
|
2435
3214
|
include Google::Apis::Core::Hashable
|
@@ -2522,26 +3301,26 @@ module Google
|
|
2522
3301
|
# The permissions held by the caller. Permissions are always of the format
|
2523
3302
|
# storage.resource.capability, where resource is one of buckets, objects, or
|
2524
3303
|
# managedFolders. The supported permissions are as follows:
|
2525
|
-
# - storage.buckets.delete
|
2526
|
-
# - storage.buckets.get
|
2527
|
-
# - storage.buckets.getIamPolicy
|
2528
|
-
# - storage.buckets.create
|
2529
|
-
# - storage.buckets.list
|
2530
|
-
# - storage.buckets.setIamPolicy
|
2531
|
-
# - storage.buckets.update
|
2532
|
-
# - storage.objects.delete
|
2533
|
-
# - storage.objects.get
|
2534
|
-
# - storage.objects.getIamPolicy
|
2535
|
-
# - storage.objects.create
|
2536
|
-
# - storage.objects.list
|
2537
|
-
# - storage.objects.setIamPolicy
|
2538
|
-
# - storage.objects.update
|
2539
|
-
# - storage.managedFolders.delete
|
2540
|
-
# - storage.managedFolders.get
|
2541
|
-
# - storage.managedFolders.getIamPolicy
|
2542
|
-
# - storage.managedFolders.create
|
2543
|
-
# - storage.managedFolders.list
|
2544
|
-
# - storage.managedFolders.setIamPolicy
|
3304
|
+
# - storage.buckets.delete - Delete bucket.
|
3305
|
+
# - storage.buckets.get - Read bucket metadata.
|
3306
|
+
# - storage.buckets.getIamPolicy - Read bucket IAM policy.
|
3307
|
+
# - storage.buckets.create - Create bucket.
|
3308
|
+
# - storage.buckets.list - List buckets.
|
3309
|
+
# - storage.buckets.setIamPolicy - Update bucket IAM policy.
|
3310
|
+
# - storage.buckets.update - Update bucket metadata.
|
3311
|
+
# - storage.objects.delete - Delete object.
|
3312
|
+
# - storage.objects.get - Read object data and metadata.
|
3313
|
+
# - storage.objects.getIamPolicy - Read object IAM policy.
|
3314
|
+
# - storage.objects.create - Create object.
|
3315
|
+
# - storage.objects.list - List objects.
|
3316
|
+
# - storage.objects.setIamPolicy - Update object IAM policy.
|
3317
|
+
# - storage.objects.update - Update object metadata.
|
3318
|
+
# - storage.managedFolders.delete - Delete managed folder.
|
3319
|
+
# - storage.managedFolders.get - Read managed folder metadata.
|
3320
|
+
# - storage.managedFolders.getIamPolicy - Read managed folder IAM policy.
|
3321
|
+
# - storage.managedFolders.create - Create managed folder.
|
3322
|
+
# - storage.managedFolders.list - List managed folders.
|
3323
|
+
# - storage.managedFolders.setIamPolicy - Update managed folder IAM policy.
|
2545
3324
|
# Corresponds to the JSON property `permissions`
|
2546
3325
|
# @return [Array<String>]
|
2547
3326
|
attr_accessor :permissions
|