google-apis-storage_v1 0.29.0 → 0.56.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 +115 -0
- data/OVERVIEW.md +2 -2
- data/lib/google/apis/storage_v1/classes.rb +844 -53
- data/lib/google/apis/storage_v1/gem_version.rb +3 -3
- data/lib/google/apis/storage_v1/representations.rb +348 -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
|
@@ -1076,6 +1586,16 @@ module Google
|
|
1076
1586
|
attr_accessor :copy_source_acl
|
1077
1587
|
alias_method :copy_source_acl?, :copy_source_acl
|
1078
1588
|
|
1589
|
+
# Restores only the objects that were created after this time.
|
1590
|
+
# Corresponds to the JSON property `createdAfterTime`
|
1591
|
+
# @return [DateTime]
|
1592
|
+
attr_accessor :created_after_time
|
1593
|
+
|
1594
|
+
# Restores only the objects that were created before this time.
|
1595
|
+
# Corresponds to the JSON property `createdBeforeTime`
|
1596
|
+
# @return [DateTime]
|
1597
|
+
attr_accessor :created_before_time
|
1598
|
+
|
1079
1599
|
# Restores only the objects matching any of the specified glob(s). If this
|
1080
1600
|
# parameter is not specified, all objects will be restored within the specified
|
1081
1601
|
# time range.
|
@@ -1101,6 +1621,8 @@ module Google
|
|
1101
1621
|
def update!(**args)
|
1102
1622
|
@allow_overwrite = args[:allow_overwrite] if args.key?(:allow_overwrite)
|
1103
1623
|
@copy_source_acl = args[:copy_source_acl] if args.key?(:copy_source_acl)
|
1624
|
+
@created_after_time = args[:created_after_time] if args.key?(:created_after_time)
|
1625
|
+
@created_before_time = args[:created_before_time] if args.key?(:created_before_time)
|
1104
1626
|
@match_globs = args[:match_globs] if args.key?(:match_globs)
|
1105
1627
|
@soft_deleted_after_time = args[:soft_deleted_after_time] if args.key?(:soft_deleted_after_time)
|
1106
1628
|
@soft_deleted_before_time = args[:soft_deleted_before_time] if args.key?(:soft_deleted_before_time)
|
@@ -1312,10 +1834,137 @@ module Google
|
|
1312
1834
|
end
|
1313
1835
|
end
|
1314
1836
|
|
1837
|
+
# A folder. Only available in buckets with hierarchical namespace enabled.
|
1838
|
+
class Folder
|
1839
|
+
include Google::Apis::Core::Hashable
|
1840
|
+
|
1841
|
+
# The name of the bucket containing this folder.
|
1842
|
+
# Corresponds to the JSON property `bucket`
|
1843
|
+
# @return [String]
|
1844
|
+
attr_accessor :bucket
|
1845
|
+
|
1846
|
+
# The creation time of the folder in RFC 3339 format.
|
1847
|
+
# Corresponds to the JSON property `createTime`
|
1848
|
+
# @return [DateTime]
|
1849
|
+
attr_accessor :create_time
|
1850
|
+
|
1851
|
+
# The ID of the folder, including the bucket name, folder name.
|
1852
|
+
# Corresponds to the JSON property `id`
|
1853
|
+
# @return [String]
|
1854
|
+
attr_accessor :id
|
1855
|
+
|
1856
|
+
# The kind of item this is. For folders, this is always storage#folder.
|
1857
|
+
# Corresponds to the JSON property `kind`
|
1858
|
+
# @return [String]
|
1859
|
+
attr_accessor :kind
|
1860
|
+
|
1861
|
+
# The version of the metadata for this folder. Used for preconditions and for
|
1862
|
+
# detecting changes in metadata.
|
1863
|
+
# Corresponds to the JSON property `metageneration`
|
1864
|
+
# @return [Fixnum]
|
1865
|
+
attr_accessor :metageneration
|
1866
|
+
|
1867
|
+
# The name of the folder. Required if not specified by URL parameter.
|
1868
|
+
# Corresponds to the JSON property `name`
|
1869
|
+
# @return [String]
|
1870
|
+
attr_accessor :name
|
1871
|
+
|
1872
|
+
# Only present if the folder is part of an ongoing rename folder operation.
|
1873
|
+
# Contains information which can be used to query the operation status.
|
1874
|
+
# Corresponds to the JSON property `pendingRenameInfo`
|
1875
|
+
# @return [Google::Apis::StorageV1::Folder::PendingRenameInfo]
|
1876
|
+
attr_accessor :pending_rename_info
|
1877
|
+
|
1878
|
+
# The link to this folder.
|
1879
|
+
# Corresponds to the JSON property `selfLink`
|
1880
|
+
# @return [String]
|
1881
|
+
attr_accessor :self_link
|
1882
|
+
|
1883
|
+
# The modification time of the folder metadata in RFC 3339 format.
|
1884
|
+
# Corresponds to the JSON property `updateTime`
|
1885
|
+
# @return [DateTime]
|
1886
|
+
attr_accessor :update_time
|
1887
|
+
|
1888
|
+
def initialize(**args)
|
1889
|
+
update!(**args)
|
1890
|
+
end
|
1891
|
+
|
1892
|
+
# Update properties of this object
|
1893
|
+
def update!(**args)
|
1894
|
+
@bucket = args[:bucket] if args.key?(:bucket)
|
1895
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1896
|
+
@id = args[:id] if args.key?(:id)
|
1897
|
+
@kind = args[:kind] if args.key?(:kind)
|
1898
|
+
@metageneration = args[:metageneration] if args.key?(:metageneration)
|
1899
|
+
@name = args[:name] if args.key?(:name)
|
1900
|
+
@pending_rename_info = args[:pending_rename_info] if args.key?(:pending_rename_info)
|
1901
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
1902
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1903
|
+
end
|
1904
|
+
|
1905
|
+
# Only present if the folder is part of an ongoing rename folder operation.
|
1906
|
+
# Contains information which can be used to query the operation status.
|
1907
|
+
class PendingRenameInfo
|
1908
|
+
include Google::Apis::Core::Hashable
|
1909
|
+
|
1910
|
+
# The ID of the rename folder operation.
|
1911
|
+
# Corresponds to the JSON property `operationId`
|
1912
|
+
# @return [String]
|
1913
|
+
attr_accessor :operation_id
|
1914
|
+
|
1915
|
+
def initialize(**args)
|
1916
|
+
update!(**args)
|
1917
|
+
end
|
1918
|
+
|
1919
|
+
# Update properties of this object
|
1920
|
+
def update!(**args)
|
1921
|
+
@operation_id = args[:operation_id] if args.key?(:operation_id)
|
1922
|
+
end
|
1923
|
+
end
|
1924
|
+
end
|
1925
|
+
|
1926
|
+
# A list of folders.
|
1927
|
+
class Folders
|
1928
|
+
include Google::Apis::Core::Hashable
|
1929
|
+
|
1930
|
+
# The list of items.
|
1931
|
+
# Corresponds to the JSON property `items`
|
1932
|
+
# @return [Array<Google::Apis::StorageV1::Folder>]
|
1933
|
+
attr_accessor :items
|
1934
|
+
|
1935
|
+
# The kind of item this is. For lists of folders, this is always storage#folders.
|
1936
|
+
# Corresponds to the JSON property `kind`
|
1937
|
+
# @return [String]
|
1938
|
+
attr_accessor :kind
|
1939
|
+
|
1940
|
+
# The continuation token, used to page through large result sets. Provide this
|
1941
|
+
# value in a subsequent request to return the next page of results.
|
1942
|
+
# Corresponds to the JSON property `nextPageToken`
|
1943
|
+
# @return [String]
|
1944
|
+
attr_accessor :next_page_token
|
1945
|
+
|
1946
|
+
def initialize(**args)
|
1947
|
+
update!(**args)
|
1948
|
+
end
|
1949
|
+
|
1950
|
+
# Update properties of this object
|
1951
|
+
def update!(**args)
|
1952
|
+
@items = args[:items] if args.key?(:items)
|
1953
|
+
@kind = args[:kind] if args.key?(:kind)
|
1954
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1955
|
+
end
|
1956
|
+
end
|
1957
|
+
|
1315
1958
|
# The response message for storage.buckets.operations.list.
|
1316
1959
|
class GoogleLongrunningListOperationsResponse
|
1317
1960
|
include Google::Apis::Core::Hashable
|
1318
1961
|
|
1962
|
+
# The kind of item this is. For lists of operations, this is always storage#
|
1963
|
+
# operations.
|
1964
|
+
# Corresponds to the JSON property `kind`
|
1965
|
+
# @return [String]
|
1966
|
+
attr_accessor :kind
|
1967
|
+
|
1319
1968
|
# The continuation token, used to page through large result sets. Provide this
|
1320
1969
|
# value in a subsequent request to return the next page of results.
|
1321
1970
|
# Corresponds to the JSON property `nextPageToken`
|
@@ -1333,6 +1982,7 @@ module Google
|
|
1333
1982
|
|
1334
1983
|
# Update properties of this object
|
1335
1984
|
def update!(**args)
|
1985
|
+
@kind = args[:kind] if args.key?(:kind)
|
1336
1986
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1337
1987
|
@operations = args[:operations] if args.key?(:operations)
|
1338
1988
|
end
|
@@ -1360,6 +2010,11 @@ module Google
|
|
1360
2010
|
# @return [Google::Apis::StorageV1::GoogleRpcStatus]
|
1361
2011
|
attr_accessor :error
|
1362
2012
|
|
2013
|
+
# The kind of item this is. For operations, this is always storage#operation.
|
2014
|
+
# Corresponds to the JSON property `kind`
|
2015
|
+
# @return [String]
|
2016
|
+
attr_accessor :kind
|
2017
|
+
|
1363
2018
|
# Service-specific metadata associated with the operation. It typically contains
|
1364
2019
|
# progress information and common metadata such as create time. Some services
|
1365
2020
|
# might not provide such metadata. Any method that returns a long-running
|
@@ -1386,6 +2041,11 @@ module Google
|
|
1386
2041
|
# @return [Hash<String,Object>]
|
1387
2042
|
attr_accessor :response
|
1388
2043
|
|
2044
|
+
# The link to this long running operation.
|
2045
|
+
# Corresponds to the JSON property `selfLink`
|
2046
|
+
# @return [String]
|
2047
|
+
attr_accessor :self_link
|
2048
|
+
|
1389
2049
|
def initialize(**args)
|
1390
2050
|
update!(**args)
|
1391
2051
|
end
|
@@ -1394,9 +2054,11 @@ module Google
|
|
1394
2054
|
def update!(**args)
|
1395
2055
|
@done = args[:done] if args.key?(:done)
|
1396
2056
|
@error = args[:error] if args.key?(:error)
|
2057
|
+
@kind = args[:kind] if args.key?(:kind)
|
1397
2058
|
@metadata = args[:metadata] if args.key?(:metadata)
|
1398
2059
|
@name = args[:name] if args.key?(:name)
|
1399
2060
|
@response = args[:response] if args.key?(:response)
|
2061
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
1400
2062
|
end
|
1401
2063
|
end
|
1402
2064
|
|
@@ -1817,9 +2479,17 @@ module Google
|
|
1817
2479
|
# @return [String]
|
1818
2480
|
attr_accessor :content_type
|
1819
2481
|
|
2482
|
+
# User-defined or system-defined object contexts. Each object context is a key-
|
2483
|
+
# payload pair, where the key provides the identification and the payload holds
|
2484
|
+
# the associated value and additional metadata.
|
2485
|
+
# Corresponds to the JSON property `contexts`
|
2486
|
+
# @return [Google::Apis::StorageV1::Object::Contexts]
|
2487
|
+
attr_accessor :contexts
|
2488
|
+
|
1820
2489
|
# CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in
|
1821
2490
|
# big-endian byte order. For more information about using the CRC32c checksum,
|
1822
|
-
# see
|
2491
|
+
# see [Data Validation and Change Detection](https://cloud.google.com/storage/
|
2492
|
+
# docs/data-validation).
|
1823
2493
|
# Corresponds to the JSON property `crc32c`
|
1824
2494
|
# @return [String]
|
1825
2495
|
attr_accessor :crc32c
|
@@ -1886,7 +2556,8 @@ module Google
|
|
1886
2556
|
attr_accessor :kms_key_name
|
1887
2557
|
|
1888
2558
|
# MD5 hash of the data; encoded using base64. For more information about using
|
1889
|
-
# the MD5 hash, see
|
2559
|
+
# the MD5 hash, see [Data Validation and Change Detection](https://cloud.google.
|
2560
|
+
# com/storage/docs/data-validation).
|
1890
2561
|
# Corresponds to the JSON property `md5Hash`
|
1891
2562
|
# @return [String]
|
1892
2563
|
attr_accessor :md5_hash
|
@@ -1919,6 +2590,13 @@ module Google
|
|
1919
2590
|
# @return [Google::Apis::StorageV1::Object::Owner]
|
1920
2591
|
attr_accessor :owner
|
1921
2592
|
|
2593
|
+
# Restore token used to differentiate deleted objects with the same name and
|
2594
|
+
# generation. This field is only returned for deleted objects in hierarchical
|
2595
|
+
# namespace buckets.
|
2596
|
+
# Corresponds to the JSON property `restoreToken`
|
2597
|
+
# @return [String]
|
2598
|
+
attr_accessor :restore_token
|
2599
|
+
|
1922
2600
|
# A collection of object level retention parameters.
|
1923
2601
|
# Corresponds to the JSON property `retention`
|
1924
2602
|
# @return [Google::Apis::StorageV1::Object::Retention]
|
@@ -1975,6 +2653,11 @@ module Google
|
|
1975
2653
|
# @return [DateTime]
|
1976
2654
|
attr_accessor :time_deleted
|
1977
2655
|
|
2656
|
+
# The time when the object was finalized.
|
2657
|
+
# Corresponds to the JSON property `timeFinalized`
|
2658
|
+
# @return [DateTime]
|
2659
|
+
attr_accessor :time_finalized
|
2660
|
+
|
1978
2661
|
# The time at which the object's storage class was last changed. When the object
|
1979
2662
|
# is initially created, it will be set to timeCreated.
|
1980
2663
|
# Corresponds to the JSON property `timeStorageClassUpdated`
|
@@ -2004,6 +2687,7 @@ module Google
|
|
2004
2687
|
@content_encoding = args[:content_encoding] if args.key?(:content_encoding)
|
2005
2688
|
@content_language = args[:content_language] if args.key?(:content_language)
|
2006
2689
|
@content_type = args[:content_type] if args.key?(:content_type)
|
2690
|
+
@contexts = args[:contexts] if args.key?(:contexts)
|
2007
2691
|
@crc32c = args[:crc32c] if args.key?(:crc32c)
|
2008
2692
|
@custom_time = args[:custom_time] if args.key?(:custom_time)
|
2009
2693
|
@customer_encryption = args[:customer_encryption] if args.key?(:customer_encryption)
|
@@ -2020,6 +2704,7 @@ module Google
|
|
2020
2704
|
@metageneration = args[:metageneration] if args.key?(:metageneration)
|
2021
2705
|
@name = args[:name] if args.key?(:name)
|
2022
2706
|
@owner = args[:owner] if args.key?(:owner)
|
2707
|
+
@restore_token = args[:restore_token] if args.key?(:restore_token)
|
2023
2708
|
@retention = args[:retention] if args.key?(:retention)
|
2024
2709
|
@retention_expiration_time = args[:retention_expiration_time] if args.key?(:retention_expiration_time)
|
2025
2710
|
@self_link = args[:self_link] if args.key?(:self_link)
|
@@ -2029,10 +2714,32 @@ module Google
|
|
2029
2714
|
@temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
|
2030
2715
|
@time_created = args[:time_created] if args.key?(:time_created)
|
2031
2716
|
@time_deleted = args[:time_deleted] if args.key?(:time_deleted)
|
2717
|
+
@time_finalized = args[:time_finalized] if args.key?(:time_finalized)
|
2032
2718
|
@time_storage_class_updated = args[:time_storage_class_updated] if args.key?(:time_storage_class_updated)
|
2033
2719
|
@updated = args[:updated] if args.key?(:updated)
|
2034
2720
|
end
|
2035
2721
|
|
2722
|
+
# User-defined or system-defined object contexts. Each object context is a key-
|
2723
|
+
# payload pair, where the key provides the identification and the payload holds
|
2724
|
+
# the associated value and additional metadata.
|
2725
|
+
class Contexts
|
2726
|
+
include Google::Apis::Core::Hashable
|
2727
|
+
|
2728
|
+
# User-defined object contexts.
|
2729
|
+
# Corresponds to the JSON property `custom`
|
2730
|
+
# @return [Hash<String,Google::Apis::StorageV1::ObjectCustomContextPayload>]
|
2731
|
+
attr_accessor :custom
|
2732
|
+
|
2733
|
+
def initialize(**args)
|
2734
|
+
update!(**args)
|
2735
|
+
end
|
2736
|
+
|
2737
|
+
# Update properties of this object
|
2738
|
+
def update!(**args)
|
2739
|
+
@custom = args[:custom] if args.key?(:custom)
|
2740
|
+
end
|
2741
|
+
end
|
2742
|
+
|
2036
2743
|
# Metadata of customer-supplied encryption key, if the object is encrypted by
|
2037
2744
|
# such a key.
|
2038
2745
|
class CustomerEncryption
|
@@ -2265,6 +2972,37 @@ module Google
|
|
2265
2972
|
end
|
2266
2973
|
end
|
2267
2974
|
|
2975
|
+
# The payload of a single user-defined object context.
|
2976
|
+
class ObjectCustomContextPayload
|
2977
|
+
include Google::Apis::Core::Hashable
|
2978
|
+
|
2979
|
+
# The time at which the object context was created in RFC 3339 format.
|
2980
|
+
# Corresponds to the JSON property `createTime`
|
2981
|
+
# @return [DateTime]
|
2982
|
+
attr_accessor :create_time
|
2983
|
+
|
2984
|
+
# The time at which the object context was last updated in RFC 3339 format.
|
2985
|
+
# Corresponds to the JSON property `updateTime`
|
2986
|
+
# @return [DateTime]
|
2987
|
+
attr_accessor :update_time
|
2988
|
+
|
2989
|
+
# The value of the object context.
|
2990
|
+
# Corresponds to the JSON property `value`
|
2991
|
+
# @return [String]
|
2992
|
+
attr_accessor :value
|
2993
|
+
|
2994
|
+
def initialize(**args)
|
2995
|
+
update!(**args)
|
2996
|
+
end
|
2997
|
+
|
2998
|
+
# Update properties of this object
|
2999
|
+
def update!(**args)
|
3000
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3001
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3002
|
+
@value = args[:value] if args.key?(:value)
|
3003
|
+
end
|
3004
|
+
end
|
3005
|
+
|
2268
3006
|
# A list of objects.
|
2269
3007
|
class Objects
|
2270
3008
|
include Google::Apis::Core::Hashable
|
@@ -2367,23 +3105,23 @@ module Google
|
|
2367
3105
|
|
2368
3106
|
# A collection of identifiers for members who may assume the provided role.
|
2369
3107
|
# Recognized identifiers are as follows:
|
2370
|
-
# - allUsers
|
3108
|
+
# - allUsers - A special identifier that represents anyone on the internet; with
|
2371
3109
|
# or without a Google account.
|
2372
|
-
# - allAuthenticatedUsers
|
3110
|
+
# - allAuthenticatedUsers - A special identifier that represents anyone who is
|
2373
3111
|
# authenticated with a Google account or a service account.
|
2374
|
-
# - user:emailid
|
3112
|
+
# - user:emailid - An email address that represents a specific account. For
|
2375
3113
|
# example, user:alice@gmail.com or user:joe@example.com.
|
2376
|
-
# - serviceAccount:emailid
|
3114
|
+
# - serviceAccount:emailid - An email address that represents a service account.
|
2377
3115
|
# For example, serviceAccount:my-other-app@appspot.gserviceaccount.com .
|
2378
|
-
# - group:emailid
|
3116
|
+
# - group:emailid - An email address that represents a Google group. For example,
|
2379
3117
|
# group:admins@example.com.
|
2380
|
-
# - domain:domain
|
3118
|
+
# - domain:domain - A Google Apps domain name that represents all the users of
|
2381
3119
|
# that domain. For example, domain:google.com or domain:example.com.
|
2382
|
-
# - projectOwner:projectid
|
3120
|
+
# - projectOwner:projectid - Owners of the given project. For example,
|
2383
3121
|
# projectOwner:my-example-project
|
2384
|
-
# - projectEditor:projectid
|
3122
|
+
# - projectEditor:projectid - Editors of the given project. For example,
|
2385
3123
|
# projectEditor:my-example-project
|
2386
|
-
# - projectViewer:projectid
|
3124
|
+
# - projectViewer:projectid - Viewers of the given project. For example,
|
2387
3125
|
# projectViewer:my-example-project
|
2388
3126
|
# Corresponds to the JSON property `members`
|
2389
3127
|
# @return [Array<String>]
|
@@ -2394,23 +3132,23 @@ module Google
|
|
2394
3132
|
# ACLs, and legacy IAM roles, which do map directly to ACL permissions. All
|
2395
3133
|
# roles are of the format roles/storage.specificRole.
|
2396
3134
|
# The new IAM roles are:
|
2397
|
-
# - roles/storage.admin
|
2398
|
-
# - roles/storage.objectViewer
|
3135
|
+
# - roles/storage.admin - Full control of Google Cloud Storage resources.
|
3136
|
+
# - roles/storage.objectViewer - Read-Only access to Google Cloud Storage
|
2399
3137
|
# objects.
|
2400
|
-
# - roles/storage.objectCreator
|
3138
|
+
# - roles/storage.objectCreator - Access to create objects in Google Cloud
|
2401
3139
|
# Storage.
|
2402
|
-
# - roles/storage.objectAdmin
|
3140
|
+
# - roles/storage.objectAdmin - Full control of Google Cloud Storage objects.
|
2403
3141
|
# The legacy IAM roles are:
|
2404
|
-
# - roles/storage.legacyObjectReader
|
3142
|
+
# - roles/storage.legacyObjectReader - Read-only access to objects without
|
2405
3143
|
# listing. Equivalent to an ACL entry on an object with the READER role.
|
2406
|
-
# - roles/storage.legacyObjectOwner
|
3144
|
+
# - roles/storage.legacyObjectOwner - Read/write access to existing objects
|
2407
3145
|
# without listing. Equivalent to an ACL entry on an object with the OWNER role.
|
2408
|
-
# - roles/storage.legacyBucketReader
|
3146
|
+
# - roles/storage.legacyBucketReader - Read access to buckets with object
|
2409
3147
|
# listing. Equivalent to an ACL entry on a bucket with the READER role.
|
2410
|
-
# - roles/storage.legacyBucketWriter
|
3148
|
+
# - roles/storage.legacyBucketWriter - Read access to buckets with object
|
2411
3149
|
# listing/creation/deletion. Equivalent to an ACL entry on a bucket with the
|
2412
3150
|
# WRITER role.
|
2413
|
-
# - roles/storage.legacyBucketOwner
|
3151
|
+
# - roles/storage.legacyBucketOwner - Read and write access to existing buckets
|
2414
3152
|
# with object listing/creation/deletion. Equivalent to an ACL entry on a bucket
|
2415
3153
|
# with the OWNER role.
|
2416
3154
|
# Corresponds to the JSON property `role`
|
@@ -2430,6 +3168,59 @@ module Google
|
|
2430
3168
|
end
|
2431
3169
|
end
|
2432
3170
|
|
3171
|
+
# A Relocate Bucket request.
|
3172
|
+
class RelocateBucketRequest
|
3173
|
+
include Google::Apis::Core::Hashable
|
3174
|
+
|
3175
|
+
# The bucket's new custom placement configuration if relocating to a Custom Dual
|
3176
|
+
# Region.
|
3177
|
+
# Corresponds to the JSON property `destinationCustomPlacementConfig`
|
3178
|
+
# @return [Google::Apis::StorageV1::RelocateBucketRequest::DestinationCustomPlacementConfig]
|
3179
|
+
attr_accessor :destination_custom_placement_config
|
3180
|
+
|
3181
|
+
# The new location the bucket will be relocated to.
|
3182
|
+
# Corresponds to the JSON property `destinationLocation`
|
3183
|
+
# @return [String]
|
3184
|
+
attr_accessor :destination_location
|
3185
|
+
|
3186
|
+
# If true, validate the operation, but do not actually relocate the bucket.
|
3187
|
+
# Corresponds to the JSON property `validateOnly`
|
3188
|
+
# @return [Boolean]
|
3189
|
+
attr_accessor :validate_only
|
3190
|
+
alias_method :validate_only?, :validate_only
|
3191
|
+
|
3192
|
+
def initialize(**args)
|
3193
|
+
update!(**args)
|
3194
|
+
end
|
3195
|
+
|
3196
|
+
# Update properties of this object
|
3197
|
+
def update!(**args)
|
3198
|
+
@destination_custom_placement_config = args[:destination_custom_placement_config] if args.key?(:destination_custom_placement_config)
|
3199
|
+
@destination_location = args[:destination_location] if args.key?(:destination_location)
|
3200
|
+
@validate_only = args[:validate_only] if args.key?(:validate_only)
|
3201
|
+
end
|
3202
|
+
|
3203
|
+
# The bucket's new custom placement configuration if relocating to a Custom Dual
|
3204
|
+
# Region.
|
3205
|
+
class DestinationCustomPlacementConfig
|
3206
|
+
include Google::Apis::Core::Hashable
|
3207
|
+
|
3208
|
+
# The list of regional locations in which data is placed.
|
3209
|
+
# Corresponds to the JSON property `dataLocations`
|
3210
|
+
# @return [Array<String>]
|
3211
|
+
attr_accessor :data_locations
|
3212
|
+
|
3213
|
+
def initialize(**args)
|
3214
|
+
update!(**args)
|
3215
|
+
end
|
3216
|
+
|
3217
|
+
# Update properties of this object
|
3218
|
+
def update!(**args)
|
3219
|
+
@data_locations = args[:data_locations] if args.key?(:data_locations)
|
3220
|
+
end
|
3221
|
+
end
|
3222
|
+
end
|
3223
|
+
|
2433
3224
|
# A rewrite response.
|
2434
3225
|
class RewriteResponse
|
2435
3226
|
include Google::Apis::Core::Hashable
|
@@ -2522,26 +3313,26 @@ module Google
|
|
2522
3313
|
# The permissions held by the caller. Permissions are always of the format
|
2523
3314
|
# storage.resource.capability, where resource is one of buckets, objects, or
|
2524
3315
|
# 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
|
3316
|
+
# - storage.buckets.delete - Delete bucket.
|
3317
|
+
# - storage.buckets.get - Read bucket metadata.
|
3318
|
+
# - storage.buckets.getIamPolicy - Read bucket IAM policy.
|
3319
|
+
# - storage.buckets.create - Create bucket.
|
3320
|
+
# - storage.buckets.list - List buckets.
|
3321
|
+
# - storage.buckets.setIamPolicy - Update bucket IAM policy.
|
3322
|
+
# - storage.buckets.update - Update bucket metadata.
|
3323
|
+
# - storage.objects.delete - Delete object.
|
3324
|
+
# - storage.objects.get - Read object data and metadata.
|
3325
|
+
# - storage.objects.getIamPolicy - Read object IAM policy.
|
3326
|
+
# - storage.objects.create - Create object.
|
3327
|
+
# - storage.objects.list - List objects.
|
3328
|
+
# - storage.objects.setIamPolicy - Update object IAM policy.
|
3329
|
+
# - storage.objects.update - Update object metadata.
|
3330
|
+
# - storage.managedFolders.delete - Delete managed folder.
|
3331
|
+
# - storage.managedFolders.get - Read managed folder metadata.
|
3332
|
+
# - storage.managedFolders.getIamPolicy - Read managed folder IAM policy.
|
3333
|
+
# - storage.managedFolders.create - Create managed folder.
|
3334
|
+
# - storage.managedFolders.list - List managed folders.
|
3335
|
+
# - storage.managedFolders.setIamPolicy - Update managed folder IAM policy.
|
2545
3336
|
# Corresponds to the JSON property `permissions`
|
2546
3337
|
# @return [Array<String>]
|
2547
3338
|
attr_accessor :permissions
|