google-cloud-resource_manager 0.24.1 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 612c5466f74c105b9db22052e4fc764f41fac2c4
4
- data.tar.gz: f991bfd8513a139030f8b7e6efc063de561001c5
3
+ metadata.gz: 9f88849cc4f19c2527e7c6f342b4a83d34ecf829
4
+ data.tar.gz: 972305f19dc8f9ae8f9dceb08d59fd2a2589ae4b
5
5
  SHA512:
6
- metadata.gz: ada23e42842a9c083a58cf1a8585ff823523418cb65799fe89dc23465f80d6adc6fedcd853a0954e1c064e322f042c49836c27e68421a9d663315848c72ac3b5
7
- data.tar.gz: e6568a539d17d5dc3d58f6959420ad973ae04c2e2da995068435e08ef89141991a1e5bbc386e4fa4fb9c3b3f90f47274c3ea1393a63f87e80813230364780ae0
6
+ metadata.gz: 565b86635fd2cf1e6f0547ec16d151cbaa0dfbafb342eca0906360b4b3d0ec1bbb228e8ca20911b7a7d9877397723363de36ab4ff3008267af159522a436cc7a
7
+ data.tar.gz: 7b6ce1daadffe47e4776367e3357bc116cf37564702ba3ec46d885fa9bd3ce1fcda81f05a70843da05fcce6b6531ffc51bff589e0fcef01b280e0a298764a929
@@ -62,13 +62,11 @@ module Google
62
62
  # resource_manager = Google::Cloud::ResourceManager.new
63
63
  # project = resource_manager.project "tokyo-rain-123"
64
64
  #
65
- # policy = project.policy # API call
66
- #
67
- # policy.remove "roles/owner", "user:owner@example.com" # Local call
68
- # policy.add "roles/owner", "user:newowner@example.com" # Local call
69
- # policy.roles["roles/viewer"] = ["allUsers"] # Local call
70
- #
71
- # project.policy = policy # API call
65
+ # project.policy do |p|
66
+ # p.remove "roles/owner", "user:owner@example.com"
67
+ # p.add "roles/owner", "user:newowner@example.com"
68
+ # p.roles["roles/viewer"] = ["allUsers"]
69
+ # end
72
70
  #
73
71
  class Policy
74
72
  ##
@@ -102,11 +100,9 @@ module Google
102
100
  # resource_manager = Google::Cloud::ResourceManager.new
103
101
  # project = resource_manager.project "tokyo-rain-123"
104
102
  #
105
- # policy = project.policy # API call
106
- #
107
- # policy.add "roles/owner", "user:newowner@example.com" # Local call
108
- #
109
- # project.policy = policy # API call
103
+ # project.policy do |p|
104
+ # p.add "roles/owner", "user:newowner@example.com"
105
+ # end
110
106
  #
111
107
  def add role_name, member
112
108
  role(role_name) << member
@@ -130,11 +126,9 @@ module Google
130
126
  # resource_manager = Google::Cloud::ResourceManager.new
131
127
  # project = resource_manager.project "tokyo-rain-123"
132
128
  #
133
- # policy = project.policy # API call
134
- #
135
- # policy.remove "roles/owner", "user:owner@example.com" # Local call
136
- #
137
- # project.policy = policy # API call
129
+ # project.policy do |p|
130
+ # p.remove "roles/owner", "user:owner@example.com"
131
+ # end
138
132
  #
139
133
  def remove role_name, member
140
134
  role(role_name).delete member
@@ -157,28 +151,14 @@ module Google
157
151
  # resource_manager = Google::Cloud::ResourceManager.new
158
152
  # project = resource_manager.project "tokyo-rain-123"
159
153
  #
160
- # policy = project.policy
161
- #
162
- # policy.role("roles/viewer") << "user:viewer@example.com"
154
+ # project.policy do |p|
155
+ # p.role("roles/viewer") << "user:viewer@example.com"
156
+ # end
163
157
  #
164
158
  def role role_name
165
159
  roles[role_name] ||= []
166
160
  end
167
161
 
168
- ##
169
- # Returns a deep copy of the policy.
170
- #
171
- # @return [Policy]
172
- #
173
- def deep_dup
174
- dup.tap do |p|
175
- roles_dup = p.roles.each_with_object({}) do |(k, v), memo|
176
- memo[k] = v.dup rescue value
177
- end
178
- p.instance_variable_set "@roles", roles_dup
179
- end
180
- end
181
-
182
162
  ##
183
163
  # @private Convert the Policy to a
184
164
  # Google::Apis::CloudresourcemanagerV1::Policy.
@@ -330,10 +330,6 @@ module Google
330
330
  # @see https://cloud.google.com/resource-manager/reference/rest/v1beta1/projects/setIamPolicy
331
331
  # projects.setIamPolicy
332
332
  #
333
- # @param [Boolean] force Force load the latest policy when `true`.
334
- # Otherwise the policy will be memoized to reduce the number of API
335
- # calls made. The default is `false`.
336
- #
337
333
  # @yield [policy] A block for updating the policy. The latest policy
338
334
  # will be read from the service and passed to the block. After the
339
335
  # block completes, the modified policy will be written to the service.
@@ -342,23 +338,13 @@ module Google
342
338
  #
343
339
  # @return [Policy] the current Cloud IAM Policy for this project
344
340
  #
345
- # @example Policy values are memoized to reduce the number of API calls:
346
- # require "google/cloud/resource_manager"
347
- #
348
- # resource_manager = Google::Cloud::ResourceManager.new
349
- # project = resource_manager.project "tokyo-rain-123"
350
- #
351
- # policy = project.policy # API call
352
- # policy_2 = project.policy # No API call
353
- #
354
- # @example Use `force` to retrieve the latest policy from the service:
341
+ # @example
355
342
  # require "google/cloud/resource_manager"
356
343
  #
357
344
  # resource_manager = Google::Cloud::ResourceManager.new
358
345
  # project = resource_manager.project "tokyo-rain-123"
359
346
  #
360
- # policy = project.policy force: true # API call
361
- # policy_2 = project.policy force: true # API call
347
+ # policy = project.policy
362
348
  #
363
349
  # @example Update the policy by passing a block:
364
350
  # require "google/cloud/resource_manager"
@@ -366,21 +352,17 @@ module Google
366
352
  # resource_manager = Google::Cloud::ResourceManager.new
367
353
  # project = resource_manager.project "tokyo-rain-123"
368
354
  #
369
- # policy = project.policy do |p|
355
+ # project.policy do |p|
370
356
  # p.add "roles/owner", "user:owner@example.com"
371
- # end # 2 API calls
372
- #
373
- def policy force: false
374
- @policy = nil if force || block_given?
375
- @policy ||= begin
376
- ensure_service!
377
- gapi = service.get_policy project_id
378
- Policy.from_gapi gapi
379
- end
380
- return @policy unless block_given?
381
- p = @policy.deep_dup
382
- yield p
383
- self.policy = p
357
+ # end
358
+ #
359
+ def policy
360
+ ensure_service!
361
+ gapi = service.get_policy project_id
362
+ policy = Policy.from_gapi gapi
363
+ return policy unless block_given?
364
+ yield policy
365
+ self.policy = policy
384
366
  end
385
367
 
386
368
  ##
@@ -400,6 +382,8 @@ module Google
400
382
  # @param [Policy] new_policy a new or modified Cloud IAM Policy for this
401
383
  # project
402
384
  #
385
+ # @return [Policy] the policy returned by the API update operation
386
+ #
403
387
  # @example
404
388
  # require "google/cloud/resource_manager"
405
389
  #
@@ -415,9 +399,7 @@ module Google
415
399
  def policy= new_policy
416
400
  ensure_service!
417
401
  gapi = service.set_policy project_id, new_policy.to_gapi
418
- # Convert symbols to strings for backwards compatibility.
419
- # This will go away when we add a ResourceManager::Policy class.
420
- @policy = Policy.from_gapi gapi
402
+ Policy.from_gapi gapi
421
403
  end
422
404
 
423
405
  ##
@@ -75,7 +75,7 @@ module Google
75
75
  ##
76
76
  # Returns API::Project
77
77
  def create_project project_id, name, labels
78
- project_attrs = { projectId: project_id, name: name,
78
+ project_attrs = { project_id: project_id, name: name,
79
79
  labels: labels }.delete_if { |_, v| v.nil? }
80
80
  execute { service.create_project API::Project.new(project_attrs) }
81
81
  end
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module ResourceManager
19
- VERSION = "0.24.1"
19
+ VERSION = "0.25.0"
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.24.1
4
+ version: 0.25.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-04-06 00:00:00.000000000 Z
12
+ date: 2017-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -187,7 +187,7 @@ files:
187
187
  - lib/google/cloud/resource_manager/project/updater.rb
188
188
  - lib/google/cloud/resource_manager/service.rb
189
189
  - lib/google/cloud/resource_manager/version.rb
190
- homepage: http://googlecloudplatform.github.io/google-cloud-ruby/
190
+ homepage: https://github.com/GoogleCloudPlatform/google-cloud-ruby/tree/master/google-cloud-resource_manager
191
191
  licenses:
192
192
  - Apache-2.0
193
193
  metadata: {}
@@ -207,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
207
  version: '0'
208
208
  requirements: []
209
209
  rubyforge_project:
210
- rubygems_version: 2.6.11
210
+ rubygems_version: 2.6.12
211
211
  signing_key:
212
212
  specification_version: 4
213
213
  summary: API Client library for Google Cloud Resource Manager