google-cloud-resource_manager 0.24.1 → 0.25.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
  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