google-cloud-resource_manager 0.28.0 → 0.29.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: f14d8ad4d2c7037398aee52815b98ec143a5578925ac85c75072132cb425d2db
4
- data.tar.gz: 551fe2be47bcb38054ad62d7045b285a785491e24081e4977a9a840a06faf4b2
3
+ metadata.gz: 8f8bc39dd1604e2f41633a4e0c696d9d1b2c50622667a31956ef530f0f080669
4
+ data.tar.gz: 5917ace0ef08d18c88a733a15c6c66d95ebeb37914dc4a3a3338d04007a0858d
5
5
  SHA512:
6
- metadata.gz: 3382c7586ffbb2970fc042716cb262bb3ce9714a753a306827beb5d25383aeb52ade9e65e6c111da6a30e559798d755c4475faa52a502109a64cb20b2da0f7e7
7
- data.tar.gz: 57860ebfabfe514dc895bcda275c91dbe5ba741f5bb5a60887ff906a37a5a9230a79b6c1c8eb76575a0ab934cf8398bd00b9d58333ac14343d5470d3db00eff2
6
+ metadata.gz: ff7c80520e2d5893322f5564332d8ff062da3a85fad63a1fa644566e18dbd5e5f6ac359442712ee98e7c6d2c802cd39fb823f747caa9465314f3867d29177291
7
+ data.tar.gz: 5ff7c5dc83b5b26c9dd5a7ff3b6358eb375201c510e06a289f233158b01f84ac1b123d5d69d4aafb12892199757cb0b26f9690342c0db2f0d1ea54e761f81416
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  Apache License
2
2
  Version 2.0, January 2004
3
- http://www.apache.org/licenses/
3
+ https://www.apache.org/licenses/
4
4
 
5
5
  TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
6
 
@@ -192,7 +192,7 @@
192
192
  you may not use this file except in compliance with the License.
193
193
  You may obtain a copy of the License at
194
194
 
195
- http://www.apache.org/licenses/LICENSE-2.0
195
+ https://www.apache.org/licenses/LICENSE-2.0
196
196
 
197
197
  Unless required by applicable law or agreed to in writing, software
198
198
  distributed under the License is distributed on an "AS IS" BASIS,
@@ -1,10 +1,10 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
1
+ # Copyright 2016 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,6 +21,8 @@
21
21
 
22
22
  gem "google-cloud-core"
23
23
  require "google/cloud"
24
+ require "google/cloud/config"
25
+ require "googleauth"
24
26
 
25
27
  module Google
26
28
  module Cloud
@@ -108,3 +110,21 @@ module Google
108
110
  end
109
111
  end
110
112
  end
113
+
114
+ # Set the default resource manager configuration
115
+ Google::Cloud.configure.add_config! :resource_manager do |config|
116
+ default_creds = Google::Cloud::Config.deferred do
117
+ Google::Cloud::Config.credentials_from_env(
118
+ "RESOURCE_MANAGER_CREDENTIALS", "RESOURCE_MANAGER_CREDENTIALS_JSON",
119
+ "RESOURCE_MANAGER_KEYFILE", "RESOURCE_MANAGER_KEYFILE_JSON"
120
+ )
121
+ end
122
+
123
+ config.add_field! :credentials, default_creds,
124
+ match: [String, Hash, Google::Auth::Credentials],
125
+ allow_nil: true
126
+ config.add_alias! :keyfile, :credentials
127
+ config.add_field! :scope, nil, match: [String, Array]
128
+ config.add_field! :retries, nil, match: Integer
129
+ config.add_field! :timeout, nil, match: Integer
130
+ end
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,6 +15,8 @@
15
15
 
16
16
  require "google-cloud-resource_manager"
17
17
  require "google/cloud/resource_manager/manager"
18
+ require "google/cloud/config"
19
+ require "google/cloud/env"
18
20
 
19
21
  module Google
20
22
  module Cloud
@@ -257,8 +259,11 @@ module Google
257
259
  #
258
260
  def self.new credentials: nil, scope: nil, retries: nil, timeout: nil,
259
261
  keyfile: nil
262
+ scope ||= configure.scope
263
+ retries ||= configure.retries
264
+ timeout ||= configure.timeout
260
265
  credentials ||= keyfile
261
- credentials ||= ResourceManager::Credentials.default(scope: scope)
266
+ credentials ||= default_credentials(scope: scope)
262
267
  unless credentials.is_a? Google::Auth::Credentials
263
268
  credentials = ResourceManager::Credentials.new credentials,
264
269
  scope: scope
@@ -266,7 +271,41 @@ module Google
266
271
 
267
272
  ResourceManager::Manager.new(
268
273
  ResourceManager::Service.new(
269
- credentials, retries: retries, timeout: timeout))
274
+ credentials, retries: retries, timeout: timeout
275
+ )
276
+ )
277
+ end
278
+
279
+ ##
280
+ # Configure the Google Cloud Resource Manager library.
281
+ #
282
+ # The following Resource Manager configuration parameters are supported:
283
+ #
284
+ # * `credentials` - (String, Hash, Google::Auth::Credentials) The path to
285
+ # the keyfile as a String, the contents of the keyfile as a Hash, or a
286
+ # Google::Auth::Credentials object. (See {ResourceManager::Credentials})
287
+ # (The parameter `keyfile` is also available but deprecated.)
288
+ # * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
289
+ # the set of resources and operations that the connection can access.
290
+ # * `retries` - (Integer) Number of times to retry requests on server
291
+ # error.
292
+ # * `timeout` - (Integer) Default timeout to use in requests.
293
+ #
294
+ # @return [Google::Cloud::Config] The configuration object the
295
+ # Google::Cloud::ResourceManager library uses.
296
+ #
297
+ def self.configure
298
+ yield Google::Cloud.configure.resource_manager if block_given?
299
+
300
+ Google::Cloud.configure.resource_manager
301
+ end
302
+
303
+ ##
304
+ # @private Default credentials.
305
+ def self.default_credentials scope: nil
306
+ Google::Cloud.configure.resource_manager.credentials ||
307
+ Google::Cloud.configure.credentials ||
308
+ ResourceManager::Credentials.default(scope: scope)
270
309
  end
271
310
  end
272
311
  end
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -35,19 +35,19 @@ module Google
35
35
  # )
36
36
  #
37
37
  class Credentials < Google::Auth::Credentials
38
- SCOPE = ["https://www.googleapis.com/auth/cloud-platform"]
39
- PATH_ENV_VARS = %w(RESOURCE_MANAGER_CREDENTIALS
38
+ SCOPE = ["https://www.googleapis.com/auth/cloud-platform"].freeze
39
+ PATH_ENV_VARS = %w[RESOURCE_MANAGER_CREDENTIALS
40
40
  RESOURCE_MANAGER_KEYFILE
41
41
  GOOGLE_CLOUD_CREDENTIALS
42
42
  GOOGLE_CLOUD_KEYFILE
43
- GCLOUD_KEYFILE)
44
- JSON_ENV_VARS = %w(RESOURCE_MANAGER_CREDENTIALS_JSON
43
+ GCLOUD_KEYFILE].freeze
44
+ JSON_ENV_VARS = %w[RESOURCE_MANAGER_CREDENTIALS_JSON
45
45
  RESOURCE_MANAGER_KEYFILE_JSON
46
46
  GOOGLE_CLOUD_CREDENTIALS_JSON
47
47
  GOOGLE_CLOUD_KEYFILE_JSON
48
- GCLOUD_KEYFILE_JSON)
48
+ GCLOUD_KEYFILE_JSON].freeze
49
49
  DEFAULT_PATHS = \
50
- ["~/.config/gcloud/application_default_credentials.json"]
50
+ ["~/.config/gcloud/application_default_credentials.json"].freeze
51
51
  end
52
52
  end
53
53
  end
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -1,10 +1,10 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
1
+ # Copyright 2016 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -179,7 +179,7 @@ module Google
179
179
  # @private New Policy from a
180
180
  # Google::Apis::CloudresourcemanagerV1::Policy object.
181
181
  def self.from_gapi gapi
182
- roles = gapi.bindings.each_with_object({}) do |binding, memo|
182
+ roles = Array(gapi.bindings).each_with_object({}) do |binding, memo|
183
183
  memo[binding.role] = binding.members.to_a
184
184
  end
185
185
  new gapi.etag, roles
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -169,7 +169,7 @@ module Google
169
169
  #
170
170
  def created_at
171
171
  Time.parse @gapi.create_time
172
- rescue
172
+ rescue StandardError
173
173
  nil
174
174
  end
175
175
 
@@ -258,7 +258,7 @@ module Google
258
258
  def reload!
259
259
  @gapi = service.get_project project_id
260
260
  end
261
- alias_method :refresh!, :reload!
261
+ alias refresh! reload!
262
262
 
263
263
  ##
264
264
  # Marks the project for deletion. This method will only affect the
@@ -361,7 +361,7 @@ module Google
361
361
  policy = Policy.from_gapi gapi
362
362
  return policy unless block_given?
363
363
  yield policy
364
- self.policy = policy
364
+ update_policy policy
365
365
  end
366
366
 
367
367
  ##
@@ -393,13 +393,14 @@ module Google
393
393
  #
394
394
  # policy.add "roles/owner", "user:owner@example.com"
395
395
  #
396
- # project.policy = policy # API call
396
+ # project.update_policy policy # API call
397
397
  #
398
- def policy= new_policy
398
+ def update_policy new_policy
399
399
  ensure_service!
400
400
  gapi = service.set_policy project_id, new_policy.to_gapi
401
401
  Policy.from_gapi gapi
402
402
  end
403
+ alias policy= update_policy
403
404
 
404
405
  ##
405
406
  # Tests the specified permissions against the [Cloud
@@ -445,7 +446,7 @@ module Google
445
446
  ##
446
447
  # Raise an error unless an active service is available.
447
448
  def ensure_service!
448
- fail "Must have active connection" unless service
449
+ raise "Must have active connection" unless service
449
450
  end
450
451
  end
451
452
  end
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -157,7 +157,7 @@ module Google
157
157
  ##
158
158
  # Raise an error unless an active connection is available.
159
159
  def ensure_manager!
160
- fail "Must have active connection" unless @manager
160
+ raise "Must have active connection" unless @manager
161
161
  end
162
162
  end
163
163
  end
@@ -1,10 +1,10 @@
1
- # Copyright 2015 Google Inc. All rights reserved.
1
+ # Copyright 2015 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -1,10 +1,10 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
1
+ # Copyright 2016 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -122,7 +122,7 @@ module Google
122
122
  end
123
123
 
124
124
  def inspect
125
- "#{self.class}"
125
+ self.class.to_s
126
126
  end
127
127
 
128
128
  protected
@@ -1,10 +1,10 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
1
+ # Copyright 2016 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
5
5
  # You may obtain a copy of the License at
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module ResourceManager
19
- VERSION = "0.28.0"
19
+ VERSION = "0.29.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-resource_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.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-11-15 00:00:00.000000000 Z
12
+ date: 2018-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.1'
20
+ version: '1.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.1'
27
+ version: '1.2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: google-api-client
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.17.0
34
+ version: 0.19.8
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.17.0
41
+ version: 0.19.8
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: googleauth
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -127,16 +127,16 @@ dependencies:
127
127
  name: rubocop
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - "<="
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 0.35.1
132
+ version: 0.50.0
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - "<="
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.35.1
139
+ version: 0.50.0
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: simplecov
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  version: '0'
222
222
  requirements: []
223
223
  rubyforge_project:
224
- rubygems_version: 2.7.2
224
+ rubygems_version: 2.7.6
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: API Client library for Google Cloud Resource Manager