google-cloud-storage 1.40.0 → 1.42.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 +16 -0
- data/OVERVIEW.md +2 -0
- data/lib/google/cloud/storage/bucket.rb +23 -3
- data/lib/google/cloud/storage/service.rb +65 -6
- data/lib/google/cloud/storage/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24a6e0506ffc44db974accb0e91b5d9efd1f9898a07b15bb286d8d9428c83ec1
|
4
|
+
data.tar.gz: f51a2efcd382bb9bc5b2c04503456eca85cdf400897995a32a3612e56839e6e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ccaa608e3aa4e9ffc214885ce11a798d622d216a18a686f80972e6f6b469b6763535871228b6eb75af7c1e1a0b918c2343f15c114f9422925da8c7ae13b5c5e
|
7
|
+
data.tar.gz: 2c7b4e5b998be2a49f10077024590d6898384da1dcc44a4e5995cf0a55419be421671fe6e78c669844c79ea1193566dbe303a34f208dd3d29ee0fba900f8b036
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.42.0 (2022-09-21)
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* send invocation_id header in all requests ([#19161](https://github.com/googleapis/google-cloud-ruby/issues/19161))
|
8
|
+
|
9
|
+
### 1.41.0 (2022-09-16)
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* add retry support for non-idempotent operations ([#19134](https://github.com/googleapis/google-cloud-ruby/issues/19134))
|
14
|
+
#### Bug Fixes
|
15
|
+
|
16
|
+
* Correct options checks in retry operations ([#19135](https://github.com/googleapis/google-cloud-ruby/issues/19135))
|
17
|
+
* Update api for bucket update ([#19110](https://github.com/googleapis/google-cloud-ruby/issues/19110))
|
18
|
+
|
3
19
|
### 1.40.0 (2022-09-13)
|
4
20
|
|
5
21
|
#### Features
|
data/OVERVIEW.md
CHANGED
@@ -593,6 +593,8 @@ service = storage.service
|
|
593
593
|
service.get_bucket bucket_name, options: {retries: 0}
|
594
594
|
```
|
595
595
|
|
596
|
+
For those API requests which are never idempotent, the library passes retries=0 by default, suppressing any retries.
|
597
|
+
|
596
598
|
See the [Storage status and error
|
597
599
|
codes](https://cloud.google.com/storage/docs/json_api/v1/status-codes)
|
598
600
|
for a list of error conditions.
|
@@ -1170,9 +1170,9 @@ module Google
|
|
1170
1170
|
updater.check_for_mutable_cors!
|
1171
1171
|
updater.check_for_mutable_lifecycle!
|
1172
1172
|
return if updater.updates.empty?
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1173
|
+
update_gapi! updater.updates,
|
1174
|
+
if_metageneration_match: if_metageneration_match,
|
1175
|
+
if_metageneration_not_match: if_metageneration_not_match
|
1176
1176
|
end
|
1177
1177
|
|
1178
1178
|
##
|
@@ -2905,6 +2905,26 @@ module Google
|
|
2905
2905
|
self
|
2906
2906
|
end
|
2907
2907
|
|
2908
|
+
def update_gapi! attributes,
|
2909
|
+
if_metageneration_match: nil,
|
2910
|
+
if_metageneration_not_match: nil
|
2911
|
+
attributes = Array(attributes)
|
2912
|
+
attributes.flatten!
|
2913
|
+
return if attributes.empty?
|
2914
|
+
ensure_service!
|
2915
|
+
update_args = Hash[attributes.map do |attr|
|
2916
|
+
[attr, @gapi.send(attr)]
|
2917
|
+
end]
|
2918
|
+
update_gapi = API::Bucket.new(**update_args)
|
2919
|
+
@gapi = service.update_bucket name,
|
2920
|
+
update_gapi,
|
2921
|
+
if_metageneration_match: if_metageneration_match,
|
2922
|
+
if_metageneration_not_match: if_metageneration_not_match,
|
2923
|
+
user_project: user_project
|
2924
|
+
@lazy = nil
|
2925
|
+
self
|
2926
|
+
end
|
2927
|
+
|
2908
2928
|
##
|
2909
2929
|
# Raise an error if the file is not found.
|
2910
2930
|
def ensure_io_or_file_exists! file
|
@@ -64,6 +64,7 @@ module Google
|
|
64
64
|
@service.request_options.base_interval = base_interval if base_interval
|
65
65
|
@service.request_options.max_interval = max_interval if max_interval
|
66
66
|
@service.request_options.multiplier = multiplier if multiplier
|
67
|
+
@service.request_options.add_invocation_id_header = true
|
67
68
|
@service.authorization = @credentials.client if @credentials
|
68
69
|
@service.root_url = host if host
|
69
70
|
end
|
@@ -135,7 +136,7 @@ module Google
|
|
135
136
|
bucket_gapi.acl = [] if predefined_acl
|
136
137
|
bucket_gapi.default_object_acl = [] if predefined_default_acl
|
137
138
|
|
138
|
-
if options[:
|
139
|
+
if options[:retries].nil?
|
139
140
|
is_idempotent = retry? if_metageneration_match: if_metageneration_match
|
140
141
|
options = is_idempotent ? {} : { retries: 0 }
|
141
142
|
end
|
@@ -196,6 +197,9 @@ module Google
|
|
196
197
|
def insert_bucket_acl bucket_name, entity, role, user_project: nil, options: {}
|
197
198
|
params = { entity: entity, role: role }.delete_if { |_k, v| v.nil? }
|
198
199
|
new_acl = Google::Apis::StorageV1::BucketAccessControl.new(**params)
|
200
|
+
if options[:retries].nil?
|
201
|
+
options = options.merge({ retries: 0 })
|
202
|
+
end
|
199
203
|
execute do
|
200
204
|
service.insert_bucket_access_control \
|
201
205
|
bucket_name, new_acl, user_project: user_project(user_project),
|
@@ -206,6 +210,9 @@ module Google
|
|
206
210
|
##
|
207
211
|
# Permanently deletes a bucket ACL.
|
208
212
|
def delete_bucket_acl bucket_name, entity, user_project: nil, options: {}
|
213
|
+
if options[:retries].nil?
|
214
|
+
options = options.merge({ retries: 0 })
|
215
|
+
end
|
209
216
|
execute do
|
210
217
|
service.delete_bucket_access_control \
|
211
218
|
bucket_name, entity, user_project: user_project(user_project),
|
@@ -226,6 +233,9 @@ module Google
|
|
226
233
|
##
|
227
234
|
# Creates a new default ACL.
|
228
235
|
def insert_default_acl bucket_name, entity, role, user_project: nil, options: {}
|
236
|
+
if options[:retries].nil?
|
237
|
+
options = options.merge({ retries: 0 })
|
238
|
+
end
|
229
239
|
param = { entity: entity, role: role }.delete_if { |_k, v| v.nil? }
|
230
240
|
new_acl = Google::Apis::StorageV1::ObjectAccessControl.new(**param)
|
231
241
|
execute do
|
@@ -238,6 +248,9 @@ module Google
|
|
238
248
|
##
|
239
249
|
# Permanently deletes a default ACL.
|
240
250
|
def delete_default_acl bucket_name, entity, user_project: nil, options: {}
|
251
|
+
if options[:retries].nil?
|
252
|
+
options = options.merge({ retries: 0 })
|
253
|
+
end
|
241
254
|
execute do
|
242
255
|
service.delete_default_object_access_control \
|
243
256
|
bucket_name, entity, user_project: user_project(user_project),
|
@@ -299,6 +312,10 @@ module Google
|
|
299
312
|
topic: topic_path(topic_name) }.delete_if { |_k, v| v.nil? }
|
300
313
|
new_notification = Google::Apis::StorageV1::Notification.new(**params)
|
301
314
|
|
315
|
+
if options[:retries].nil?
|
316
|
+
options = options.merge({ retries: 0 })
|
317
|
+
end
|
318
|
+
|
302
319
|
execute do
|
303
320
|
service.insert_notification \
|
304
321
|
bucket_name, new_notification,
|
@@ -385,7 +402,7 @@ module Google
|
|
385
402
|
file_obj = Google::Apis::StorageV1::Object.new(**params)
|
386
403
|
content_type ||= mime_type_for(path || Pathname(source).to_path)
|
387
404
|
|
388
|
-
if options[:
|
405
|
+
if options[:retries].nil?
|
389
406
|
is_idempotent = retry? if_generation_match: if_generation_match
|
390
407
|
options = is_idempotent ? key_options(key) : key_options(key).merge(retries: 0)
|
391
408
|
else
|
@@ -460,7 +477,7 @@ module Google
|
|
460
477
|
options: {}
|
461
478
|
key_options = rewrite_key_options source_key, destination_key
|
462
479
|
|
463
|
-
if options[:
|
480
|
+
if options[:retries].nil?
|
464
481
|
is_idempotent = retry? if_generation_match: if_generation_match
|
465
482
|
options = is_idempotent ? key_options : key_options.merge(retries: 0)
|
466
483
|
else
|
@@ -508,7 +525,7 @@ module Google
|
|
508
525
|
compose_req = Google::Apis::StorageV1::ComposeRequest.new source_objects: source_objects,
|
509
526
|
destination: destination_gapi
|
510
527
|
|
511
|
-
if options[:
|
528
|
+
if options[:retries].nil?
|
512
529
|
is_idempotent = retry? if_generation_match: if_generation_match
|
513
530
|
options = is_idempotent ? key_options(key) : key_options(key).merge(retries: 0)
|
514
531
|
else
|
@@ -565,7 +582,7 @@ module Google
|
|
565
582
|
options: {}
|
566
583
|
file_gapi ||= Google::Apis::StorageV1::Object.new
|
567
584
|
|
568
|
-
if options[:
|
585
|
+
if options[:retries].nil?
|
569
586
|
is_idempotent = retry? if_metageneration_match: if_metageneration_match
|
570
587
|
options = is_idempotent ? {} : { retries: 0 }
|
571
588
|
end
|
@@ -597,7 +614,7 @@ module Google
|
|
597
614
|
user_project: nil,
|
598
615
|
options: {}
|
599
616
|
|
600
|
-
if options[:
|
617
|
+
if options[:retries].nil?
|
601
618
|
is_idempotent = retry? generation: generation, if_generation_match: if_generation_match
|
602
619
|
options = is_idempotent ? {} : { retries: 0 }
|
603
620
|
end
|
@@ -629,6 +646,9 @@ module Google
|
|
629
646
|
def insert_file_acl bucket_name, file_name, entity, role,
|
630
647
|
generation: nil, user_project: nil,
|
631
648
|
options: {}
|
649
|
+
if options[:retries].nil?
|
650
|
+
options = options.merge({ retries: 0 })
|
651
|
+
end
|
632
652
|
params = { entity: entity, role: role }.delete_if { |_k, v| v.nil? }
|
633
653
|
new_acl = Google::Apis::StorageV1::ObjectAccessControl.new(**params)
|
634
654
|
execute do
|
@@ -643,6 +663,9 @@ module Google
|
|
643
663
|
# Permanently deletes a file ACL.
|
644
664
|
def delete_file_acl bucket_name, file_name, entity, generation: nil,
|
645
665
|
user_project: nil, options: {}
|
666
|
+
if options[:retries].nil?
|
667
|
+
options = options.merge({ retries: 0 })
|
668
|
+
end
|
646
669
|
execute do
|
647
670
|
service.delete_object_access_control \
|
648
671
|
bucket_name, file_name, entity,
|
@@ -656,6 +679,11 @@ module Google
|
|
656
679
|
# Returns Google::Apis::StorageV1::HmacKey.
|
657
680
|
def create_hmac_key service_account_email, project_id: nil,
|
658
681
|
user_project: nil, options: {}
|
682
|
+
|
683
|
+
if options[:retries].nil?
|
684
|
+
options = options.merge({ retries: 0 })
|
685
|
+
end
|
686
|
+
|
659
687
|
execute do
|
660
688
|
service.create_project_hmac_key \
|
661
689
|
(project_id || @project), service_account_email,
|
@@ -721,6 +749,37 @@ module Google
|
|
721
749
|
end
|
722
750
|
end
|
723
751
|
|
752
|
+
##
|
753
|
+
# Updates a bucket, including its ACL metadata.
|
754
|
+
def update_bucket bucket_name,
|
755
|
+
bucket_gapi = nil,
|
756
|
+
predefined_acl: nil,
|
757
|
+
predefined_default_acl: nil,
|
758
|
+
if_metageneration_match: nil,
|
759
|
+
if_metageneration_not_match: nil,
|
760
|
+
user_project: nil,
|
761
|
+
options: {}
|
762
|
+
bucket_gapi ||= Google::Apis::StorageV1::Bucket.new
|
763
|
+
bucket_gapi.acl = [] if predefined_acl
|
764
|
+
bucket_gapi.default_object_acl = [] if predefined_default_acl
|
765
|
+
|
766
|
+
if options[:retries].nil?
|
767
|
+
is_idempotent = retry? if_metageneration_match: if_metageneration_match
|
768
|
+
options = is_idempotent ? {} : { retries: 0 }
|
769
|
+
end
|
770
|
+
|
771
|
+
execute do
|
772
|
+
service.update_bucket bucket_name,
|
773
|
+
bucket_gapi,
|
774
|
+
predefined_acl: predefined_acl,
|
775
|
+
predefined_default_object_acl: predefined_default_acl,
|
776
|
+
if_metageneration_match: if_metageneration_match,
|
777
|
+
if_metageneration_not_match: if_metageneration_not_match,
|
778
|
+
user_project: user_project(user_project),
|
779
|
+
options: options
|
780
|
+
end
|
781
|
+
end
|
782
|
+
|
724
783
|
##
|
725
784
|
# Retrieves the mime-type for a file path.
|
726
785
|
# An empty string is returned if no mime-type can be found.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.42.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-09-
|
12
|
+
date: 2022-09-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|