google-cloud-storage 1.20.0 → 1.21.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95278f620e42cb0c09f509e972b2aac94204cd0435a7b824d561903d7dc3f455
4
- data.tar.gz: 04410bfcf4d0cf2ce2b4b0db9e4f653122a7dded2ce460dac8ba5a97fc288a74
3
+ metadata.gz: 5c5abd86d062d83810945e58bc049bcbb6486fd554fe85f0182de9279a6527e7
4
+ data.tar.gz: efb391f66a4848545305e88c989cc042d120c131943009d697480d5567273055
5
5
  SHA512:
6
- metadata.gz: 45c6bcb301c44151f4069cf648420f4b411e2662e843cc965105b8bf7f4e3a5f9072aaada1437ecda3df64fffcc4975a96694703f812278f37a24f5820df5d32
7
- data.tar.gz: 9204c51ae1a9e967714db5fdee82f3f33c21cc879ccc7530013c861d1f015960ee6783f92dd37d96f5b3c07164314755d93dd7380a7deac75fd8ffe118f96de2
6
+ metadata.gz: 0103fe81c68464ecc7303532cfe3a0248d281bb0daa21d8dd8d06c7ec232f85962ed18daa735c2e9dfc410a644fe535b7360836229ce20b1210e6eb4b550bd70
7
+ data.tar.gz: c610e4b15a52add81adcbd1c1a16ddb0dc994de12422154cd42e79f842fcbbe4ce5ea60014aedcd861169f1955d33950f4e6354196273501c906bb5f23793e34
@@ -1,5 +1,17 @@
1
1
  # Release History
2
2
 
3
+ ### 1.21.0 / 2019-08-16
4
+
5
+ #### Features
6
+
7
+ * Support overriding of service endpoint
8
+ * Update documentation
9
+
10
+ #### Bug Fixes
11
+
12
+ * Fix Bucket Policy Only service bug temporarily
13
+ * Set UniformBucketLevelAccess to same value as BucketPolicyOnly
14
+
3
15
  ### 1.20.0 / 2019-08-08
4
16
 
5
17
  * Add HmacKey
@@ -138,4 +138,5 @@ Google::Cloud.configure.add_config! :storage do |config|
138
138
  config.add_field! :scope, nil, match: [String, Array]
139
139
  config.add_field! :retries, nil, match: Integer
140
140
  config.add_field! :timeout, nil, match: Integer
141
+ config.add_field! :endpoint, nil, match: String
141
142
  end
@@ -56,6 +56,8 @@ module Google
56
56
  # @param [Integer] retries Number of times to retry requests on server
57
57
  # error. The default value is `3`. Optional.
58
58
  # @param [Integer] timeout Default timeout to use in requests. Optional.
59
+ # @param [String] endpoint Override of the endpoint host name. Optional.
60
+ # If the param is nil, uses the default endpoint.
59
61
  # @param [String] project Alias for the `project_id` argument. Deprecated.
60
62
  # @param [String] keyfile Alias for the `credentials` argument.
61
63
  # Deprecated.
@@ -74,26 +76,24 @@ module Google
74
76
  # file = bucket.file "path/to/my-file.ext"
75
77
  #
76
78
  def self.new project_id: nil, credentials: nil, scope: nil, retries: nil,
77
- timeout: nil, project: nil, keyfile: nil
78
- project_id ||= (project || default_project_id)
79
+ timeout: nil, endpoint: nil, project: nil, keyfile: nil
79
80
  scope ||= configure.scope
80
81
  retries ||= configure.retries
81
82
  timeout ||= configure.timeout
83
+ endpoint ||= configure.endpoint
82
84
  credentials ||= (keyfile || default_credentials(scope: scope))
83
85
 
84
86
  unless credentials.is_a? Google::Auth::Credentials
85
87
  credentials = Storage::Credentials.new credentials, scope: scope
86
88
  end
87
89
 
88
- if credentials.respond_to? :project_id
89
- project_id ||= credentials.project_id
90
- end
91
- project_id = project_id.to_s # Always cast to a string
90
+ project_id = resolve_project_id(project_id || project, credentials)
92
91
  raise ArgumentError, "project_id is missing" if project_id.empty?
93
92
 
94
93
  Storage::Project.new(
95
94
  Storage::Service.new(
96
- project_id, credentials, retries: retries, timeout: timeout
95
+ project_id, credentials,
96
+ retries: retries, timeout: timeout, host: endpoint
97
97
  )
98
98
  )
99
99
  end
@@ -105,6 +105,8 @@ module Google
105
105
  # @param [Integer] retries Number of times to retry requests on server
106
106
  # error. The default value is `3`. Optional.
107
107
  # @param [Integer] timeout Default timeout to use in requests. Optional.
108
+ # @param [String] endpoint Override of the endpoint host name. Optional.
109
+ # If the param is nil, uses the default endpoint.
108
110
  #
109
111
  # @return [Google::Cloud::Storage::Project]
110
112
  #
@@ -120,9 +122,11 @@ module Google
120
122
  # downloaded.rewind
121
123
  # downloaded.read #=> "Hello world!"
122
124
  #
123
- def self.anonymous retries: nil, timeout: nil
125
+ def self.anonymous retries: nil, timeout: nil, endpoint: nil
124
126
  Storage::Project.new(
125
- Storage::Service.new(nil, nil, retries: retries, timeout: timeout)
127
+ Storage::Service.new(
128
+ nil, nil, retries: retries, timeout: timeout, host: endpoint
129
+ )
126
130
  )
127
131
  end
128
132
 
@@ -137,6 +141,8 @@ module Google
137
141
  # the keyfile as a String, the contents of the keyfile as a Hash, or a
138
142
  # Google::Auth::Credentials object. (See {Storage::Credentials}) (The
139
143
  # parameter `keyfile` is considered deprecated, but may also be used.)
144
+ # * `endpoint` - (String) Override of the endpoint host name, or `nil`
145
+ # to use the default endpoint.
140
146
  # * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
141
147
  # the set of resources and operations that the connection can access.
142
148
  # * `retries` - (Integer) Number of times to retry requests on server
@@ -152,6 +158,16 @@ module Google
152
158
  Google::Cloud.configure.storage
153
159
  end
154
160
 
161
+ ##
162
+ # @private Resolve project.
163
+ def self.resolve_project_id given_project, credentials
164
+ project_id = given_project || default_project_id
165
+ if credentials.respond_to? :project_id
166
+ project_id ||= credentials.project_id
167
+ end
168
+ project_id.to_s # Always cast to a string
169
+ end
170
+
155
171
  ##
156
172
  # @private Default project.
157
173
  def self.default_project_id
@@ -843,10 +843,14 @@ module Google
843
843
  # puts bucket.policy_only_locked_at
844
844
  #
845
845
  def policy_only= new_policy_only
846
- @gapi.iam_configuration ||= API::Bucket::IamConfiguration.new \
847
- bucket_policy_only: \
848
- API::Bucket::IamConfiguration::BucketPolicyOnly.new
846
+ @gapi.iam_configuration ||= API::Bucket::IamConfiguration.new
847
+ @gapi.iam_configuration.bucket_policy_only ||= \
848
+ API::Bucket::IamConfiguration::BucketPolicyOnly.new
849
+ @gapi.iam_configuration.uniform_bucket_level_access ||= \
850
+ API::Bucket::IamConfiguration::UniformBucketLevelAccess.new
849
851
  @gapi.iam_configuration.bucket_policy_only.enabled = new_policy_only
852
+ @gapi.iam_configuration.uniform_bucket_level_access.enabled = \
853
+ new_policy_only
850
854
  patch_gapi! :iam_configuration
851
855
  end
852
856
 
@@ -38,7 +38,8 @@ module Google
38
38
 
39
39
  ##
40
40
  # Creates a new Service instance.
41
- def initialize project, credentials, retries: nil, timeout: nil
41
+ def initialize project, credentials,
42
+ retries: nil, timeout: nil, host: nil
42
43
  @project = project
43
44
  @credentials = credentials
44
45
  @service = API::StorageService.new
@@ -55,6 +56,7 @@ module Google
55
56
  "gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Storage::VERSION}"
56
57
  @service.request_options.header["Accept-Encoding"] = "gzip"
57
58
  @service.authorization = @credentials.client if @credentials
59
+ @service.root_url = host if host
58
60
  end
59
61
 
60
62
  def service
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Storage
19
- VERSION = "1.20.0".freeze
19
+ VERSION = "1.21.0".freeze
20
20
  end
21
21
  end
22
22
  end
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.20.0
4
+ version: 1.21.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: 2019-08-08 00:00:00.000000000 Z
12
+ date: 2019-08-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core