google-cloud-storage 1.5.0 → 1.6.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/lib/google/cloud/storage/bucket.rb +13 -12
- data/lib/google/cloud/storage/bucket/list.rb +7 -4
- data/lib/google/cloud/storage/file.rb +8 -14
- data/lib/google/cloud/storage/notification.rb +6 -3
- data/lib/google/cloud/storage/project.rb +37 -10
- data/lib/google/cloud/storage/service.rb +10 -7
- data/lib/google/cloud/storage/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 785ee684ed3d6225bea9ef029a33739162b73482
|
4
|
+
data.tar.gz: 795d5c813467496884077148427406a138086e3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d943e560150efb216a55999bcf327277bccf5b12329a6b382147a16a29e1509e4c722c28993bf1cd626b88f51b4cec4d444b141df3881fea2595a7b4e45262c
|
7
|
+
data.tar.gz: 1a74ee5f03dff72f2ab1cdb7568bab73cb6b7d5ece7818f310712b8dff0e67e0e9eccfe2c178c36c1dd51763008b20f59d0f08c757a08ce159c47e26fce8717b
|
@@ -342,8 +342,9 @@ module Google
|
|
342
342
|
##
|
343
343
|
# Indicates that a client accessing the bucket or a file it contains
|
344
344
|
# must assume the transit costs related to the access. The requester
|
345
|
-
# must pass the `user_project` option to {Project#bucket}
|
346
|
-
# the project to which the access costs
|
345
|
+
# must pass the `user_project` option to {Project#bucket} and
|
346
|
+
# {Project#buckets} to indicate the project to which the access costs
|
347
|
+
# should be billed.
|
347
348
|
#
|
348
349
|
# This feature is currently available only to whitelisted projects.
|
349
350
|
#
|
@@ -359,8 +360,8 @@ module Google
|
|
359
360
|
# Enables requester pays for the bucket. If enabled, a client accessing
|
360
361
|
# the bucket or a file it contains must assume the transit costs related
|
361
362
|
# to the access. The requester must pass the `user_project` option to
|
362
|
-
# {Project#bucket} to indicate the project to
|
363
|
-
# should be billed.
|
363
|
+
# {Project#bucket} and {Project#buckets} to indicate the project to
|
364
|
+
# which the access costs should be billed.
|
364
365
|
#
|
365
366
|
# This feature is currently available only to whitelisted projects.
|
366
367
|
#
|
@@ -376,7 +377,7 @@ module Google
|
|
376
377
|
#
|
377
378
|
# bucket.requester_pays = true # API call
|
378
379
|
# # Other projects must now provide `user_project` option when calling
|
379
|
-
# # Project#bucket to access this bucket.
|
380
|
+
# # Project#bucket or Project#buckets to access this bucket.
|
380
381
|
#
|
381
382
|
def requester_pays= new_requester_pays
|
382
383
|
@gapi.billing ||= Google::Apis::StorageV1::Bucket::Billing.new
|
@@ -1211,10 +1212,10 @@ module Google
|
|
1211
1212
|
# the notification. An optional list of additional attributes to
|
1212
1213
|
# attach to each Cloud Pub/Sub message published for the notification
|
1213
1214
|
# subscription.
|
1214
|
-
# @param [Symbol, String] event_types The event
|
1215
|
-
# notification subscription. If provided, messages will
|
1216
|
-
# for the listed event types. If empty, messages will be
|
1217
|
-
# event types.
|
1215
|
+
# @param [Symbol, String, Array<Symbol, String>] event_types The event
|
1216
|
+
# types for the notification subscription. If provided, messages will
|
1217
|
+
# only be sent for the listed event types. If empty, messages will be
|
1218
|
+
# sent for all event types.
|
1218
1219
|
#
|
1219
1220
|
# Acceptable values are:
|
1220
1221
|
#
|
@@ -1240,15 +1241,15 @@ module Google
|
|
1240
1241
|
# @param [Symbol, String, Boolean] payload The desired content of the
|
1241
1242
|
# Pub/Sub message payload. Acceptable values are:
|
1242
1243
|
#
|
1243
|
-
# * `
|
1244
|
+
# * `:json` or `true` - The Pub/Sub message payload will be a UTF-8
|
1244
1245
|
# string containing the [resource
|
1245
1246
|
# representation](https://cloud.google.com/storage/docs/json_api/v1/objects#resource-representations)
|
1246
1247
|
# of the file's metadata.
|
1247
|
-
# * `
|
1248
|
+
# * `:none` or `false` - No payload is included with the notification.
|
1248
1249
|
#
|
1249
1250
|
# The default value is `:json`.
|
1250
1251
|
#
|
1251
|
-
# @return [
|
1252
|
+
# @return [Google::Cloud::Storage::Notification]
|
1252
1253
|
#
|
1253
1254
|
# @example
|
1254
1255
|
# require "google/cloud/pubsub"
|
@@ -72,8 +72,9 @@ module Google
|
|
72
72
|
return nil unless next?
|
73
73
|
ensure_service!
|
74
74
|
gapi = @service.list_buckets prefix: @prefix, token: @token,
|
75
|
-
max: @max
|
76
|
-
Bucket::List.from_gapi gapi, @service, @prefix, @max
|
75
|
+
max: @max, user_project: @user_project
|
76
|
+
Bucket::List.from_gapi gapi, @service, @prefix, @max,
|
77
|
+
user_project: @user_project
|
77
78
|
end
|
78
79
|
|
79
80
|
##
|
@@ -144,14 +145,16 @@ module Google
|
|
144
145
|
##
|
145
146
|
# @private New Bucket::List from a Google API Client
|
146
147
|
# Google::Apis::StorageV1::Buckets object.
|
147
|
-
def self.from_gapi gapi_list, service, prefix = nil, max = nil
|
148
|
+
def self.from_gapi gapi_list, service, prefix = nil, max = nil,
|
149
|
+
user_project: nil
|
148
150
|
buckets = new(Array(gapi_list.items).map do |gapi_object|
|
149
|
-
Bucket.from_gapi gapi_object, service
|
151
|
+
Bucket.from_gapi gapi_object, service, user_project: user_project
|
150
152
|
end)
|
151
153
|
buckets.instance_variable_set :@token, gapi_list.next_page_token
|
152
154
|
buckets.instance_variable_set :@service, service
|
153
155
|
buckets.instance_variable_set :@prefix, prefix
|
154
156
|
buckets.instance_variable_set :@max, max
|
157
|
+
buckets.instance_variable_set :@user_project, user_project
|
155
158
|
buckets
|
156
159
|
end
|
157
160
|
|
@@ -55,24 +55,18 @@ module Google
|
|
55
55
|
attr_accessor :service
|
56
56
|
|
57
57
|
##
|
58
|
-
#
|
59
|
-
#
|
60
|
-
#
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
# transit costs will be billed to the that project. The default is
|
65
|
-
# `nil`.
|
58
|
+
# If this attribute is set to `true`, transit costs for operations on
|
59
|
+
# the file will be billed to the current project for this client. (See
|
60
|
+
# {Project#project} for the ID of the current project.) If this
|
61
|
+
# attribute is set to a project ID, and that project is authorized for
|
62
|
+
# the currently authenticated service account, transit costs will be
|
63
|
+
# billed to the that project. The default is `nil`.
|
66
64
|
#
|
67
65
|
# In general, this attribute should be set when first retrieving the
|
68
66
|
# owning bucket by providing the `user_project` option to
|
69
|
-
# {Project#bucket}.
|
67
|
+
# {Project#bucket} or {Project#buckets}.
|
70
68
|
#
|
71
|
-
#
|
72
|
-
# projects.
|
73
|
-
#
|
74
|
-
# See also {Bucket#requester_pays=} and {Bucket#requester_pays} to
|
75
|
-
# enable requester pays for a bucket.
|
69
|
+
# See also {Bucket#requester_pays=} and {Bucket#requester_pays}.
|
76
70
|
#
|
77
71
|
# @example Setting a non-default project:
|
78
72
|
# require "google/cloud/storage"
|
@@ -24,10 +24,13 @@ module Google
|
|
24
24
|
# Represents a Pub/Sub notification subscription for a Cloud Storage
|
25
25
|
# bucket.
|
26
26
|
#
|
27
|
+
# See {Bucket#create_notification}, {Bucket#notifications}, and
|
28
|
+
# {Bucket#notification}.
|
29
|
+
#
|
27
30
|
# @see https://cloud.google.com/storage/docs/pubsub-notifications Cloud
|
28
31
|
# Pub/Sub Notifications for Google Cloud
|
29
32
|
#
|
30
|
-
# @
|
33
|
+
# @attr_reader [String] bucket The name of the {Bucket} to which this
|
31
34
|
# notification belongs.
|
32
35
|
#
|
33
36
|
# @example
|
@@ -99,8 +102,8 @@ module Google
|
|
99
102
|
end
|
100
103
|
|
101
104
|
##
|
102
|
-
# The event types of this notification. If present, only
|
103
|
-
#
|
105
|
+
# The event types of this notification. If present, messages will only
|
106
|
+
# be sent for the listed event types. If empty, messages will be sent
|
104
107
|
# for all event types.
|
105
108
|
#
|
106
109
|
# The following is a list of event types currently supported by Cloud
|
@@ -93,6 +93,19 @@ module Google
|
|
93
93
|
# @param [String] token A previously-returned page token representing
|
94
94
|
# part of the larger set of results to view.
|
95
95
|
# @param [Integer] max Maximum number of buckets to return.
|
96
|
+
# @param [Boolean, String] user_project If this parameter is set to
|
97
|
+
# `true`, transit costs for operations on the enabled buckets or their
|
98
|
+
# files will be billed to the current project for this client. (See
|
99
|
+
# {#project} for the ID of the current project.) If this parameter is
|
100
|
+
# set to a project ID other than the current project, and that project
|
101
|
+
# is authorized for the currently authenticated service account,
|
102
|
+
# transit costs will be billed to the given project. The default is
|
103
|
+
# `nil`.
|
104
|
+
#
|
105
|
+
# The value provided will be applied to all operations on the returned
|
106
|
+
# bucket instances and their files.
|
107
|
+
#
|
108
|
+
# See also {Bucket#requester_pays=} and {Bucket#requester_pays}.
|
96
109
|
#
|
97
110
|
# @return [Array<Google::Cloud::Storage::Bucket>] (See
|
98
111
|
# {Google::Cloud::Storage::Bucket::List})
|
@@ -127,9 +140,11 @@ module Google
|
|
127
140
|
# puts bucket.name
|
128
141
|
# end
|
129
142
|
#
|
130
|
-
def buckets prefix: nil, token: nil, max: nil
|
131
|
-
gapi = service.list_buckets
|
132
|
-
|
143
|
+
def buckets prefix: nil, token: nil, max: nil, user_project: nil
|
144
|
+
gapi = service.list_buckets \
|
145
|
+
prefix: prefix, token: token, max: max, user_project: user_project
|
146
|
+
Bucket::List.from_gapi \
|
147
|
+
gapi, service, prefix, max, user_project: user_project
|
133
148
|
end
|
134
149
|
alias_method :find_buckets, :buckets
|
135
150
|
|
@@ -141,8 +156,7 @@ module Google
|
|
141
156
|
# without verifying the bucket resource exists on the Storage service.
|
142
157
|
# Calls made on this object will raise errors if the bucket resource
|
143
158
|
# does not exist. Default is `false`.
|
144
|
-
# @param [Boolean, String] user_project If
|
145
|
-
# enabled for the requested bucket, and if this parameter is set to
|
159
|
+
# @param [Boolean, String] user_project If this parameter is set to
|
146
160
|
# `true`, transit costs for operations on the requested bucket or a
|
147
161
|
# file it contains will be billed to the current project for this
|
148
162
|
# client. (See {#project} for the ID of the current project.) If this
|
@@ -151,8 +165,8 @@ module Google
|
|
151
165
|
# account, transit costs will be billed to the given project. The
|
152
166
|
# default is `nil`.
|
153
167
|
#
|
154
|
-
# The
|
155
|
-
#
|
168
|
+
# The value provided will be applied to all operations on the returned
|
169
|
+
# bucket instance and its files.
|
156
170
|
#
|
157
171
|
# See also {Bucket#requester_pays=} and {Bucket#requester_pays}.
|
158
172
|
#
|
@@ -286,6 +300,16 @@ module Google
|
|
286
300
|
# does not exist. For more information, see [How to Host a Static
|
287
301
|
# Website
|
288
302
|
# ](https://cloud.google.com/storage/docs/website-configuration#step4).
|
303
|
+
# @param [String] user_project If this parameter is set to a project ID
|
304
|
+
# other than the current project, and that project is authorized for
|
305
|
+
# the currently authenticated service account, transit costs will be
|
306
|
+
# billed to the given project. The default is `nil`.
|
307
|
+
#
|
308
|
+
# The value provided will be applied to all operations on the returned
|
309
|
+
# bucket instance and its files.
|
310
|
+
#
|
311
|
+
# See also {Bucket#requester_pays=} and {Bucket#requester_pays}.
|
312
|
+
#
|
289
313
|
# @yield [bucket] a block for configuring the bucket before it is
|
290
314
|
# created
|
291
315
|
# @yieldparam [Bucket] cors the bucket object to be configured
|
@@ -317,7 +341,8 @@ module Google
|
|
317
341
|
def create_bucket bucket_name, acl: nil, default_acl: nil,
|
318
342
|
location: nil, storage_class: nil,
|
319
343
|
logging_bucket: nil, logging_prefix: nil,
|
320
|
-
website_main: nil, website_404: nil, versioning: nil
|
344
|
+
website_main: nil, website_404: nil, versioning: nil,
|
345
|
+
requester_pays: nil, user_project: nil
|
321
346
|
new_bucket = Google::Apis::StorageV1::Bucket.new({
|
322
347
|
name: bucket_name,
|
323
348
|
location: location
|
@@ -330,13 +355,15 @@ module Google
|
|
330
355
|
b.website_main = website_main unless website_main.nil?
|
331
356
|
b.website_404 = website_404 unless website_404.nil?
|
332
357
|
b.versioning = versioning unless versioning.nil?
|
358
|
+
b.requester_pays = requester_pays unless requester_pays.nil?
|
333
359
|
end
|
334
360
|
yield updater if block_given?
|
335
361
|
updater.check_for_changed_labels!
|
336
362
|
updater.check_for_mutable_cors!
|
337
363
|
gapi = service.insert_bucket \
|
338
|
-
new_bucket, acl: acl_rule(acl), default_acl: acl_rule(default_acl)
|
339
|
-
|
364
|
+
new_bucket, acl: acl_rule(acl), default_acl: acl_rule(default_acl),
|
365
|
+
user_project: user_project
|
366
|
+
Bucket.from_gapi gapi, service, user_project: user_project
|
340
367
|
end
|
341
368
|
|
342
369
|
##
|
@@ -64,10 +64,11 @@ module Google
|
|
64
64
|
|
65
65
|
##
|
66
66
|
# Retrieves a list of buckets for the given project.
|
67
|
-
def list_buckets prefix: nil, token: nil, max: nil
|
67
|
+
def list_buckets prefix: nil, token: nil, max: nil, user_project: nil
|
68
68
|
execute do
|
69
|
-
service.list_buckets
|
70
|
-
|
69
|
+
service.list_buckets \
|
70
|
+
@project, prefix: prefix, page_token: token, max_results: max,
|
71
|
+
user_project: user_project(user_project)
|
71
72
|
end
|
72
73
|
end
|
73
74
|
|
@@ -84,12 +85,14 @@ module Google
|
|
84
85
|
##
|
85
86
|
# Creates a new bucket.
|
86
87
|
# Returns Google::Apis::StorageV1::Bucket.
|
87
|
-
def insert_bucket bucket_gapi, acl: nil, default_acl: nil
|
88
|
+
def insert_bucket bucket_gapi, acl: nil, default_acl: nil,
|
89
|
+
user_project: nil
|
88
90
|
execute do
|
89
91
|
service.insert_bucket \
|
90
92
|
@project, bucket_gapi,
|
91
93
|
predefined_acl: acl,
|
92
|
-
predefined_default_object_acl: default_acl
|
94
|
+
predefined_default_object_acl: default_acl,
|
95
|
+
user_project: user_project(user_project)
|
93
96
|
end
|
94
97
|
end
|
95
98
|
|
@@ -471,8 +474,8 @@ module Google
|
|
471
474
|
end
|
472
475
|
|
473
476
|
# Pub/Sub notification subscription event_types
|
474
|
-
def event_types
|
475
|
-
|
477
|
+
def event_types str_or_arr
|
478
|
+
Array(str_or_arr).map { |x| event_type x } if str_or_arr
|
476
479
|
end
|
477
480
|
|
478
481
|
# Pub/Sub notification subscription event_types
|
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.6.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: 2017-09-
|
12
|
+
date: 2017-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.14.2
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.
|
41
|
+
version: 0.14.2
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: digest-crc
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|