google-cloud-iap-v1 0.1.1 → 0.2.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
  SHA256:
3
- metadata.gz: 853ed566c6c75c63e2501774563449d6ce0c21dbb60af8aa9552b1810b7a23f5
4
- data.tar.gz: ca78d86b332f4c22415ca60b6760ed4e7f11a5e05bc381048bf1cf82097653e4
3
+ metadata.gz: f50fdb004bb7ea5e1b2806c53a60957c408ac75fafcf5e1ed97ea8b12bff5a6e
4
+ data.tar.gz: 4f56167db7bc16ffbee189b05e6ca928290a2ed8578f656a8c82320a1b9059b3
5
5
  SHA512:
6
- metadata.gz: 0b35c5f1fc7ce4531426b111fda91e1fe5d7a3521a938eb4e4ea35ef28cd08d339d210a29e577ab8d47e1b3f0340cbd71b080f13020e8ac40f13e04e314271c9
7
- data.tar.gz: 4521edc75caddd02e0598856f0dab286dbbe91d99148ed260efc1f3de7c6722550e254712ab33ff450f09f66caa030ec0e5ec9a388c313c2cf96bd1918174c6f
6
+ metadata.gz: 8f2f9bd3a4a0cb71377139a88c17ddcb9d5ae09b543ac1051109f3734868611e65163bfa52990c4f937cd160840fdc2720c13c3515b37f3936158796e7aa3b58
7
+ data.tar.gz: 9ebb229221d9c8e4b26381003b06517fd16cfdad6fdbb8b0641223f2c4a23cc7dae8b1367f6db35493ffeef1849edc33f52b365b326545f90996dee77b14f68f
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
- --title=Identity-Aware Proxy V1 API
2
+ --title="Identity-Aware Proxy V1 API"
3
3
  --exclude _pb\.rb$
4
4
  --markup markdown
5
5
  --markup-provider redcarpet
data/AUTHENTICATION.md CHANGED
@@ -120,15 +120,6 @@ To configure your system for this, simply:
120
120
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
121
121
  *should* only be used during development.
122
122
 
123
- [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
124
- [dev-console]: https://console.cloud.google.com/project
125
-
126
- [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
127
-
128
- [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
129
- [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
130
- [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
131
-
132
123
  ## Creating a Service Account
133
124
 
134
125
  Google Cloud requires **Service Account Credentials** to
@@ -139,31 +130,22 @@ If you are not running this client within
139
130
  [Google Cloud Platform environments](#google-cloud-platform-environments), you
140
131
  need a Google Developers service account.
141
132
 
142
- 1. Visit the [Google Developers Console][dev-console].
133
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
143
134
  2. Create a new project or click on an existing project.
144
- 3. Activate the slide-out navigation tray and select **API Manager**. From
135
+ 3. Activate the menu in the upper left and select **APIs & Services**. From
145
136
  here, you will enable the APIs that your application requires.
146
137
 
147
- ![Enable the APIs that your application requires][enable-apis]
148
-
149
138
  *Note: You may need to enable billing in order to use these services.*
150
139
 
151
140
  4. Select **Credentials** from the side navigation.
152
141
 
153
- You should see a screen like one of the following.
154
-
155
- ![Create a new service account][create-new-service-account]
156
-
157
- ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
158
-
159
- Find the "Add credentials" drop down and select "Service account" to be
160
- guided through downloading a new JSON key file.
142
+ Find the "Create credentials" drop down near the top of the page, and select
143
+ "Service account" to be guided through downloading a new JSON key file.
161
144
 
162
145
  If you want to re-use an existing service account, you can easily generate a
163
- new key file. Just select the account you wish to re-use, and click "Generate
164
- new JSON key":
165
-
166
- ![Re-use an existing service account][reuse-service-account]
146
+ new key file. Just select the account you wish to re-use, click the pencil
147
+ tool on the right side to edit the service account, select the **Keys** tab,
148
+ and then select **Add Key**.
167
149
 
168
150
  The key file you download will be used by this library to authenticate API
169
151
  requests and should be stored in a secure location.
data/README.md CHANGED
@@ -37,7 +37,7 @@ request = ::Google::Iam::V1::SetIamPolicyRequest.new # (request fields as keywor
37
37
  response = client.set_iam_policy request
38
38
  ```
39
39
 
40
- View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-iap-v1/latest)
40
+ View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-iap-v1/latest)
41
41
  for class and method documentation.
42
42
 
43
43
  See also the [Product Documentation](https://cloud.google.com/iap/)
@@ -160,7 +160,7 @@ module Google
160
160
  # @param options [::Gapic::CallOptions, ::Hash]
161
161
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
162
162
  #
163
- # @overload set_iam_policy(resource: nil, policy: nil)
163
+ # @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
164
164
  # Pass arguments to `set_iam_policy` via keyword arguments. Note that at
165
165
  # least one keyword argument is required. To specify no parameters, or to keep all
166
166
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -173,6 +173,12 @@ module Google
173
173
  # the policy is limited to a few 10s of KB. An empty policy is a
174
174
  # valid policy but certain Cloud Platform services (such as Projects)
175
175
  # might reject them.
176
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
177
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
178
+ # the fields in the mask will be modified. If no mask is provided, the
179
+ # following default mask is used:
180
+ #
181
+ # `paths: "bindings, etag"`
176
182
  #
177
183
  # @yield [response, operation] Access the result along with the RPC operation
178
184
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -182,6 +188,21 @@ module Google
182
188
  #
183
189
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
184
190
  #
191
+ # @example Basic example
192
+ # require "google/cloud/iap/v1"
193
+ #
194
+ # # Create a client object. The client can be reused for multiple calls.
195
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
196
+ #
197
+ # # Create a request. To set request fields, pass in keyword arguments.
198
+ # request = Google::Iam::V1::SetIamPolicyRequest.new
199
+ #
200
+ # # Call the set_iam_policy method.
201
+ # result = client.set_iam_policy request
202
+ #
203
+ # # The returned object is of type Google::Iam::V1::Policy.
204
+ # p result
205
+ #
185
206
  def set_iam_policy request, options = nil
186
207
  raise ::ArgumentError, "request must be provided" if request.nil?
187
208
 
@@ -199,9 +220,11 @@ module Google
199
220
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
200
221
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
201
222
 
202
- header_params = {
203
- "resource" => request.resource
204
- }
223
+ header_params = {}
224
+ if request.resource
225
+ header_params["resource"] = request.resource
226
+ end
227
+
205
228
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
206
229
  metadata[:"x-goog-request-params"] ||= request_params_header
207
230
 
@@ -247,7 +270,7 @@ module Google
247
270
  # See the operation documentation for the appropriate value for this field.
248
271
  # @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
249
272
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
250
- # `GetIamPolicy`. This field is only used by Cloud IAM.
273
+ # `GetIamPolicy`.
251
274
  #
252
275
  # @yield [response, operation] Access the result along with the RPC operation
253
276
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -257,6 +280,21 @@ module Google
257
280
  #
258
281
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
259
282
  #
283
+ # @example Basic example
284
+ # require "google/cloud/iap/v1"
285
+ #
286
+ # # Create a client object. The client can be reused for multiple calls.
287
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
288
+ #
289
+ # # Create a request. To set request fields, pass in keyword arguments.
290
+ # request = Google::Iam::V1::GetIamPolicyRequest.new
291
+ #
292
+ # # Call the get_iam_policy method.
293
+ # result = client.get_iam_policy request
294
+ #
295
+ # # The returned object is of type Google::Iam::V1::Policy.
296
+ # p result
297
+ #
260
298
  def get_iam_policy request, options = nil
261
299
  raise ::ArgumentError, "request must be provided" if request.nil?
262
300
 
@@ -274,9 +312,11 @@ module Google
274
312
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
275
313
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
276
314
 
277
- header_params = {
278
- "resource" => request.resource
279
- }
315
+ header_params = {}
316
+ if request.resource
317
+ header_params["resource"] = request.resource
318
+ end
319
+
280
320
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
281
321
  metadata[:"x-goog-request-params"] ||= request_params_header
282
322
 
@@ -334,6 +374,21 @@ module Google
334
374
  #
335
375
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
336
376
  #
377
+ # @example Basic example
378
+ # require "google/cloud/iap/v1"
379
+ #
380
+ # # Create a client object. The client can be reused for multiple calls.
381
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
382
+ #
383
+ # # Create a request. To set request fields, pass in keyword arguments.
384
+ # request = Google::Iam::V1::TestIamPermissionsRequest.new
385
+ #
386
+ # # Call the test_iam_permissions method.
387
+ # result = client.test_iam_permissions request
388
+ #
389
+ # # The returned object is of type Google::Iam::V1::TestIamPermissionsResponse.
390
+ # p result
391
+ #
337
392
  def test_iam_permissions request, options = nil
338
393
  raise ::ArgumentError, "request must be provided" if request.nil?
339
394
 
@@ -351,9 +406,11 @@ module Google
351
406
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
352
407
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
353
408
 
354
- header_params = {
355
- "resource" => request.resource
356
- }
409
+ header_params = {}
410
+ if request.resource
411
+ header_params["resource"] = request.resource
412
+ end
413
+
357
414
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
358
415
  metadata[:"x-goog-request-params"] ||= request_params_header
359
416
 
@@ -404,6 +461,21 @@ module Google
404
461
  #
405
462
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
406
463
  #
464
+ # @example Basic example
465
+ # require "google/cloud/iap/v1"
466
+ #
467
+ # # Create a client object. The client can be reused for multiple calls.
468
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
469
+ #
470
+ # # Create a request. To set request fields, pass in keyword arguments.
471
+ # request = Google::Cloud::Iap::V1::GetIapSettingsRequest.new
472
+ #
473
+ # # Call the get_iap_settings method.
474
+ # result = client.get_iap_settings request
475
+ #
476
+ # # The returned object is of type Google::Cloud::Iap::V1::IapSettings.
477
+ # p result
478
+ #
407
479
  def get_iap_settings request, options = nil
408
480
  raise ::ArgumentError, "request must be provided" if request.nil?
409
481
 
@@ -421,9 +493,11 @@ module Google
421
493
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
422
494
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
423
495
 
424
- header_params = {
425
- "name" => request.name
426
- }
496
+ header_params = {}
497
+ if request.name
498
+ header_params["name"] = request.name
499
+ end
500
+
427
501
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
428
502
  metadata[:"x-goog-request-params"] ||= request_params_header
429
503
 
@@ -479,6 +553,21 @@ module Google
479
553
  #
480
554
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
481
555
  #
556
+ # @example Basic example
557
+ # require "google/cloud/iap/v1"
558
+ #
559
+ # # Create a client object. The client can be reused for multiple calls.
560
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
561
+ #
562
+ # # Create a request. To set request fields, pass in keyword arguments.
563
+ # request = Google::Cloud::Iap::V1::UpdateIapSettingsRequest.new
564
+ #
565
+ # # Call the update_iap_settings method.
566
+ # result = client.update_iap_settings request
567
+ #
568
+ # # The returned object is of type Google::Cloud::Iap::V1::IapSettings.
569
+ # p result
570
+ #
482
571
  def update_iap_settings request, options = nil
483
572
  raise ::ArgumentError, "request must be provided" if request.nil?
484
573
 
@@ -496,9 +585,11 @@ module Google
496
585
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
497
586
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
498
587
 
499
- header_params = {
500
- "iap_settings.name" => request.iap_settings.name
501
- }
588
+ header_params = {}
589
+ if request.iap_settings&.name
590
+ header_params["iap_settings.name"] = request.iap_settings.name
591
+ end
592
+
502
593
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
503
594
  metadata[:"x-goog-request-params"] ||= request_params_header
504
595
 
@@ -176,6 +176,21 @@ module Google
176
176
  #
177
177
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
178
178
  #
179
+ # @example Basic example
180
+ # require "google/cloud/iap/v1"
181
+ #
182
+ # # Create a client object. The client can be reused for multiple calls.
183
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
184
+ #
185
+ # # Create a request. To set request fields, pass in keyword arguments.
186
+ # request = Google::Cloud::Iap::V1::ListBrandsRequest.new
187
+ #
188
+ # # Call the list_brands method.
189
+ # result = client.list_brands request
190
+ #
191
+ # # The returned object is of type Google::Cloud::Iap::V1::ListBrandsResponse.
192
+ # p result
193
+ #
179
194
  def list_brands request, options = nil
180
195
  raise ::ArgumentError, "request must be provided" if request.nil?
181
196
 
@@ -193,9 +208,11 @@ module Google
193
208
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
194
209
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
195
210
 
196
- header_params = {
197
- "parent" => request.parent
198
- }
211
+ header_params = {}
212
+ if request.parent
213
+ header_params["parent"] = request.parent
214
+ end
215
+
199
216
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
200
217
  metadata[:"x-goog-request-params"] ||= request_params_header
201
218
 
@@ -253,6 +270,21 @@ module Google
253
270
  #
254
271
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
255
272
  #
273
+ # @example Basic example
274
+ # require "google/cloud/iap/v1"
275
+ #
276
+ # # Create a client object. The client can be reused for multiple calls.
277
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
278
+ #
279
+ # # Create a request. To set request fields, pass in keyword arguments.
280
+ # request = Google::Cloud::Iap::V1::CreateBrandRequest.new
281
+ #
282
+ # # Call the create_brand method.
283
+ # result = client.create_brand request
284
+ #
285
+ # # The returned object is of type Google::Cloud::Iap::V1::Brand.
286
+ # p result
287
+ #
256
288
  def create_brand request, options = nil
257
289
  raise ::ArgumentError, "request must be provided" if request.nil?
258
290
 
@@ -270,9 +302,11 @@ module Google
270
302
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
271
303
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
272
304
 
273
- header_params = {
274
- "parent" => request.parent
275
- }
305
+ header_params = {}
306
+ if request.parent
307
+ header_params["parent"] = request.parent
308
+ end
309
+
276
310
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
277
311
  metadata[:"x-goog-request-params"] ||= request_params_header
278
312
 
@@ -322,6 +356,21 @@ module Google
322
356
  #
323
357
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
324
358
  #
359
+ # @example Basic example
360
+ # require "google/cloud/iap/v1"
361
+ #
362
+ # # Create a client object. The client can be reused for multiple calls.
363
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
364
+ #
365
+ # # Create a request. To set request fields, pass in keyword arguments.
366
+ # request = Google::Cloud::Iap::V1::GetBrandRequest.new
367
+ #
368
+ # # Call the get_brand method.
369
+ # result = client.get_brand request
370
+ #
371
+ # # The returned object is of type Google::Cloud::Iap::V1::Brand.
372
+ # p result
373
+ #
325
374
  def get_brand request, options = nil
326
375
  raise ::ArgumentError, "request must be provided" if request.nil?
327
376
 
@@ -339,9 +388,11 @@ module Google
339
388
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
340
389
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
341
390
 
342
- header_params = {
343
- "name" => request.name
344
- }
391
+ header_params = {}
392
+ if request.name
393
+ header_params["name"] = request.name
394
+ end
395
+
345
396
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
346
397
  metadata[:"x-goog-request-params"] ||= request_params_header
347
398
 
@@ -397,6 +448,21 @@ module Google
397
448
  #
398
449
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
399
450
  #
451
+ # @example Basic example
452
+ # require "google/cloud/iap/v1"
453
+ #
454
+ # # Create a client object. The client can be reused for multiple calls.
455
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
456
+ #
457
+ # # Create a request. To set request fields, pass in keyword arguments.
458
+ # request = Google::Cloud::Iap::V1::CreateIdentityAwareProxyClientRequest.new
459
+ #
460
+ # # Call the create_identity_aware_proxy_client method.
461
+ # result = client.create_identity_aware_proxy_client request
462
+ #
463
+ # # The returned object is of type Google::Cloud::Iap::V1::IdentityAwareProxyClient.
464
+ # p result
465
+ #
400
466
  def create_identity_aware_proxy_client request, options = nil
401
467
  raise ::ArgumentError, "request must be provided" if request.nil?
402
468
 
@@ -414,9 +480,11 @@ module Google
414
480
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
415
481
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
416
482
 
417
- header_params = {
418
- "parent" => request.parent
419
- }
483
+ header_params = {}
484
+ if request.parent
485
+ header_params["parent"] = request.parent
486
+ end
487
+
420
488
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
421
489
  metadata[:"x-goog-request-params"] ||= request_params_header
422
490
 
@@ -478,6 +546,27 @@ module Google
478
546
  #
479
547
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
480
548
  #
549
+ # @example Basic example
550
+ # require "google/cloud/iap/v1"
551
+ #
552
+ # # Create a client object. The client can be reused for multiple calls.
553
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
554
+ #
555
+ # # Create a request. To set request fields, pass in keyword arguments.
556
+ # request = Google::Cloud::Iap::V1::ListIdentityAwareProxyClientsRequest.new
557
+ #
558
+ # # Call the list_identity_aware_proxy_clients method.
559
+ # result = client.list_identity_aware_proxy_clients request
560
+ #
561
+ # # The returned object is of type Gapic::PagedEnumerable. You can
562
+ # # iterate over all elements by calling #each, and the enumerable
563
+ # # will lazily make API calls to fetch subsequent pages. Other
564
+ # # methods are also available for managing paging directly.
565
+ # result.each do |response|
566
+ # # Each element is of type ::Google::Cloud::Iap::V1::IdentityAwareProxyClient.
567
+ # p response
568
+ # end
569
+ #
481
570
  def list_identity_aware_proxy_clients request, options = nil
482
571
  raise ::ArgumentError, "request must be provided" if request.nil?
483
572
 
@@ -495,9 +584,11 @@ module Google
495
584
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
496
585
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
497
586
 
498
- header_params = {
499
- "parent" => request.parent
500
- }
587
+ header_params = {}
588
+ if request.parent
589
+ header_params["parent"] = request.parent
590
+ end
591
+
501
592
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
502
593
  metadata[:"x-goog-request-params"] ||= request_params_header
503
594
 
@@ -550,6 +641,21 @@ module Google
550
641
  #
551
642
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
552
643
  #
644
+ # @example Basic example
645
+ # require "google/cloud/iap/v1"
646
+ #
647
+ # # Create a client object. The client can be reused for multiple calls.
648
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
649
+ #
650
+ # # Create a request. To set request fields, pass in keyword arguments.
651
+ # request = Google::Cloud::Iap::V1::GetIdentityAwareProxyClientRequest.new
652
+ #
653
+ # # Call the get_identity_aware_proxy_client method.
654
+ # result = client.get_identity_aware_proxy_client request
655
+ #
656
+ # # The returned object is of type Google::Cloud::Iap::V1::IdentityAwareProxyClient.
657
+ # p result
658
+ #
553
659
  def get_identity_aware_proxy_client request, options = nil
554
660
  raise ::ArgumentError, "request must be provided" if request.nil?
555
661
 
@@ -567,9 +673,11 @@ module Google
567
673
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
568
674
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
569
675
 
570
- header_params = {
571
- "name" => request.name
572
- }
676
+ header_params = {}
677
+ if request.name
678
+ header_params["name"] = request.name
679
+ end
680
+
573
681
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
574
682
  metadata[:"x-goog-request-params"] ||= request_params_header
575
683
 
@@ -621,6 +729,21 @@ module Google
621
729
  #
622
730
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
623
731
  #
732
+ # @example Basic example
733
+ # require "google/cloud/iap/v1"
734
+ #
735
+ # # Create a client object. The client can be reused for multiple calls.
736
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
737
+ #
738
+ # # Create a request. To set request fields, pass in keyword arguments.
739
+ # request = Google::Cloud::Iap::V1::ResetIdentityAwareProxyClientSecretRequest.new
740
+ #
741
+ # # Call the reset_identity_aware_proxy_client_secret method.
742
+ # result = client.reset_identity_aware_proxy_client_secret request
743
+ #
744
+ # # The returned object is of type Google::Cloud::Iap::V1::IdentityAwareProxyClient.
745
+ # p result
746
+ #
624
747
  def reset_identity_aware_proxy_client_secret request, options = nil
625
748
  raise ::ArgumentError, "request must be provided" if request.nil?
626
749
 
@@ -638,9 +761,11 @@ module Google
638
761
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
639
762
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
640
763
 
641
- header_params = {
642
- "name" => request.name
643
- }
764
+ header_params = {}
765
+ if request.name
766
+ header_params["name"] = request.name
767
+ end
768
+
644
769
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
645
770
  metadata[:"x-goog-request-params"] ||= request_params_header
646
771
 
@@ -693,6 +818,21 @@ module Google
693
818
  #
694
819
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
695
820
  #
821
+ # @example Basic example
822
+ # require "google/cloud/iap/v1"
823
+ #
824
+ # # Create a client object. The client can be reused for multiple calls.
825
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyOAuthService::Client.new
826
+ #
827
+ # # Create a request. To set request fields, pass in keyword arguments.
828
+ # request = Google::Cloud::Iap::V1::DeleteIdentityAwareProxyClientRequest.new
829
+ #
830
+ # # Call the delete_identity_aware_proxy_client method.
831
+ # result = client.delete_identity_aware_proxy_client request
832
+ #
833
+ # # The returned object is of type Google::Protobuf::Empty.
834
+ # p result
835
+ #
696
836
  def delete_identity_aware_proxy_client request, options = nil
697
837
  raise ::ArgumentError, "request must be provided" if request.nil?
698
838
 
@@ -710,9 +850,11 @@ module Google
710
850
  gapic_version: ::Google::Cloud::Iap::V1::VERSION
711
851
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
712
852
 
713
- header_params = {
714
- "name" => request.name
715
- }
853
+ header_params = {}
854
+ if request.name
855
+ header_params["name"] = request.name
856
+ end
857
+
716
858
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
717
859
  metadata[:"x-goog-request-params"] ||= request_params_header
718
860
 
@@ -1,8 +1,6 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/iap/v1/service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/field_behavior_pb'
8
6
  require 'google/iam/v1/iam_policy_pb'
@@ -11,6 +9,8 @@ require 'google/protobuf/empty_pb'
11
9
  require 'google/protobuf/field_mask_pb'
12
10
  require 'google/protobuf/wrappers_pb'
13
11
  require 'google/api/client_pb'
12
+ require 'google/protobuf'
13
+
14
14
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  add_file("google/cloud/iap/v1/service.proto", :syntax => :proto3) do
16
16
  add_message "google.cloud.iap.v1.GetIapSettingsRequest" do
@@ -27,7 +27,7 @@ module Google
27
27
  # APIs for Identity-Aware Proxy Admin configurations.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -63,7 +63,7 @@ module Google
63
63
  # clients.
64
64
  class Service
65
65
 
66
- include GRPC::GenericService
66
+ include ::GRPC::GenericService
67
67
 
68
68
  self.marshal_class_method = :encode
69
69
  self.unmarshal_class_method = :decode
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Iap
23
23
  module V1
24
- VERSION = "0.1.1"
24
+ VERSION = "0.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -26,6 +26,8 @@ module Google
26
26
  ##
27
27
  # To load this package, including all its services, and instantiate a client:
28
28
  #
29
+ # @example
30
+ #
29
31
  # require "google/cloud/iap/v1"
30
32
  # client = ::Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
31
33
  #
@@ -33,11 +33,7 @@ module Google
33
33
  # // For Kubernetes resources, the format is {api group}/{kind}.
34
34
  # option (google.api.resource) = {
35
35
  # type: "pubsub.googleapis.com/Topic"
36
- # name_descriptor: {
37
- # pattern: "projects/{project}/topics/{topic}"
38
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
- # parent_name_extractor: "projects/{project}"
40
- # }
36
+ # pattern: "projects/{project}/topics/{topic}"
41
37
  # };
42
38
  # }
43
39
  #
@@ -45,10 +41,7 @@ module Google
45
41
  #
46
42
  # resources:
47
43
  # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/{project}/topics/{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/{project}"
44
+ # pattern: "projects/{project}/topics/{topic}"
52
45
  #
53
46
  # Sometimes, resources have multiple patterns, typically because they can
54
47
  # live under multiple parents.
@@ -58,26 +51,10 @@ module Google
58
51
  # message LogEntry {
59
52
  # option (google.api.resource) = {
60
53
  # type: "logging.googleapis.com/LogEntry"
61
- # name_descriptor: {
62
- # pattern: "projects/{project}/logs/{log}"
63
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
- # parent_name_extractor: "projects/{project}"
65
- # }
66
- # name_descriptor: {
67
- # pattern: "folders/{folder}/logs/{log}"
68
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
- # parent_name_extractor: "folders/{folder}"
70
- # }
71
- # name_descriptor: {
72
- # pattern: "organizations/{organization}/logs/{log}"
73
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
- # parent_name_extractor: "organizations/{organization}"
75
- # }
76
- # name_descriptor: {
77
- # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
- # parent_type: "billing.googleapis.com/BillingAccount"
79
- # parent_name_extractor: "billingAccounts/{billing_account}"
80
- # }
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
81
58
  # };
82
59
  # }
83
60
  #
@@ -85,48 +62,10 @@ module Google
85
62
  #
86
63
  # resources:
87
64
  # - type: 'logging.googleapis.com/LogEntry'
88
- # name_descriptor:
89
- # - pattern: "projects/{project}/logs/{log}"
90
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
- # parent_name_extractor: "projects/{project}"
92
- # - pattern: "folders/{folder}/logs/{log}"
93
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
- # parent_name_extractor: "folders/{folder}"
95
- # - pattern: "organizations/{organization}/logs/{log}"
96
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
- # parent_name_extractor: "organizations/{organization}"
98
- # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
- # parent_type: "billing.googleapis.com/BillingAccount"
100
- # parent_name_extractor: "billingAccounts/{billing_account}"
101
- #
102
- # For flexible resources, the resource name doesn't contain parent names, but
103
- # the resource itself has parents for policy evaluation.
104
- #
105
- # Example:
106
- #
107
- # message Shelf {
108
- # option (google.api.resource) = {
109
- # type: "library.googleapis.com/Shelf"
110
- # name_descriptor: {
111
- # pattern: "shelves/{shelf}"
112
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
- # }
114
- # name_descriptor: {
115
- # pattern: "shelves/{shelf}"
116
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
- # }
118
- # };
119
- # }
120
- #
121
- # The ResourceDescriptor Yaml config will look like:
122
- #
123
- # resources:
124
- # - type: 'library.googleapis.com/Shelf'
125
- # name_descriptor:
126
- # - pattern: "shelves/{shelf}"
127
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
- # - pattern: "shelves/{shelf}"
129
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
130
69
  # @!attribute [rw] type
131
70
  # @return [::String]
132
71
  # The resource type. It must be in the format of
@@ -31,6 +31,13 @@ module Google
31
31
  # the policy is limited to a few 10s of KB. An empty policy is a
32
32
  # valid policy but certain Cloud Platform services (such as Projects)
33
33
  # might reject them.
34
+ # @!attribute [rw] update_mask
35
+ # @return [::Google::Protobuf::FieldMask]
36
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
37
+ # the fields in the mask will be modified. If no mask is provided, the
38
+ # following default mask is used:
39
+ #
40
+ # `paths: "bindings, etag"`
34
41
  class SetIamPolicyRequest
35
42
  include ::Google::Protobuf::MessageExts
36
43
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -44,7 +51,7 @@ module Google
44
51
  # @!attribute [rw] options
45
52
  # @return [::Google::Iam::V1::GetPolicyOptions]
46
53
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
47
- # `GetIamPolicy`. This field is only used by Cloud IAM.
54
+ # `GetIamPolicy`.
48
55
  class GetIamPolicyRequest
49
56
  include ::Google::Protobuf::MessageExts
50
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -23,14 +23,24 @@ module Google
23
23
  # Encapsulates settings provided to GetIamPolicy.
24
24
  # @!attribute [rw] requested_policy_version
25
25
  # @return [::Integer]
26
- # Optional. The policy format version to be returned.
26
+ # Optional. The maximum policy version that will be used to format the
27
+ # policy.
27
28
  #
28
29
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
29
30
  # rejected.
30
31
  #
31
- # Requests for policies with any conditional bindings must specify version 3.
32
- # Policies without any conditional bindings may specify any valid value or
33
- # leave the field unset.
32
+ # Requests for policies with any conditional role bindings must specify
33
+ # version 3. Policies with no conditional role bindings may specify any valid
34
+ # value or leave the field unset.
35
+ #
36
+ # The policy in the response might use the policy version that you specified,
37
+ # or it might use a lower policy version. For example, if you specify version
38
+ # 3, but the policy has no conditional role bindings, the response uses
39
+ # version 1.
40
+ #
41
+ # To learn which resources support conditions in their IAM policies, see the
42
+ # [IAM
43
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
34
44
  class GetPolicyOptions
35
45
  include ::Google::Protobuf::MessageExts
36
46
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -20,19 +20,24 @@
20
20
  module Google
21
21
  module Iam
22
22
  module V1
23
- # Defines an Identity and Access Management (IAM) policy. It is used to
24
- # specify access control policies for Cloud Platform resources.
23
+ # An Identity and Access Management (IAM) policy, which specifies access
24
+ # controls for Google Cloud resources.
25
25
  #
26
26
  #
27
27
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
28
- # `members` to a single `role`. Members can be user accounts, service accounts,
29
- # Google groups, and domains (such as G Suite). A `role` is a named list of
30
- # permissions (defined by IAM or configured by users). A `binding` can
31
- # optionally specify a `condition`, which is a logic expression that further
32
- # constrains the role binding based on attributes about the request and/or
33
- # target resource.
28
+ # `members`, or principals, to a single `role`. Principals can be user
29
+ # accounts, service accounts, Google groups, and domains (such as G Suite). A
30
+ # `role` is a named list of permissions; each `role` can be an IAM predefined
31
+ # role or a user-created custom role.
34
32
  #
35
- # **JSON Example**
33
+ # For some types of Google Cloud resources, a `binding` can also specify a
34
+ # `condition`, which is a logical expression that allows access to a resource
35
+ # only if the expression evaluates to `true`. A condition can add constraints
36
+ # based on attributes of the request, the resource, or both. To learn which
37
+ # resources support conditions in their IAM policies, see the
38
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
39
+ #
40
+ # **JSON example:**
36
41
  #
37
42
  # {
38
43
  # "bindings": [
@@ -47,18 +52,21 @@ module Google
47
52
  # },
48
53
  # {
49
54
  # "role": "roles/resourcemanager.organizationViewer",
50
- # "members": ["user:eve@example.com"],
55
+ # "members": [
56
+ # "user:eve@example.com"
57
+ # ],
51
58
  # "condition": {
52
59
  # "title": "expirable access",
53
60
  # "description": "Does not grant access after Sep 2020",
54
- # "expression": "request.time <
55
- # timestamp('2020-10-01T00:00:00.000Z')",
61
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
56
62
  # }
57
63
  # }
58
- # ]
64
+ # ],
65
+ # "etag": "BwWWja0YfJA=",
66
+ # "version": 3
59
67
  # }
60
68
  #
61
- # **YAML Example**
69
+ # **YAML example:**
62
70
  #
63
71
  # bindings:
64
72
  # - members:
@@ -74,30 +82,52 @@ module Google
74
82
  # title: expirable access
75
83
  # description: Does not grant access after Sep 2020
76
84
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
85
+ # etag: BwWWja0YfJA=
86
+ # version: 3
77
87
  #
78
88
  # For a description of IAM and its features, see the
79
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
89
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
80
90
  # @!attribute [rw] version
81
91
  # @return [::Integer]
82
92
  # Specifies the format of the policy.
83
93
  #
84
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
85
- # rejected.
94
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
95
+ # are rejected.
96
+ #
97
+ # Any operation that affects conditional role bindings must specify version
98
+ # `3`. This requirement applies to the following operations:
86
99
  #
87
- # Operations affecting conditional bindings must specify version 3. This can
88
- # be either setting a conditional policy, modifying a conditional binding,
89
- # or removing a binding (conditional or unconditional) from the stored
90
- # conditional policy.
91
- # Operations on non-conditional policies may specify any valid value or
92
- # leave the field unset.
100
+ # * Getting a policy that includes a conditional role binding
101
+ # * Adding a conditional role binding to a policy
102
+ # * Changing a conditional role binding in a policy
103
+ # * Removing any role binding, with or without a condition, from a policy
104
+ # that includes conditions
93
105
  #
94
- # If no etag is provided in the call to `setIamPolicy`, version compliance
95
- # checks against the stored policy is skipped.
106
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
107
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
108
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
109
+ # the conditions in the version `3` policy are lost.
110
+ #
111
+ # If a policy does not include any conditions, operations on that policy may
112
+ # specify any valid version or leave the field unset.
113
+ #
114
+ # To learn which resources support conditions in their IAM policies, see the
115
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
96
116
  # @!attribute [rw] bindings
97
117
  # @return [::Array<::Google::Iam::V1::Binding>]
98
- # Associates a list of `members` to a `role`. Optionally may specify a
99
- # `condition` that determines when binding is in effect.
100
- # `bindings` with no members will result in an error.
118
+ # Associates a list of `members`, or principals, with a `role`. Optionally,
119
+ # may specify a `condition` that determines how and when the `bindings` are
120
+ # applied. Each of the `bindings` must contain at least one principal.
121
+ #
122
+ # The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
123
+ # of these principals can be Google groups. Each occurrence of a principal
124
+ # counts towards these limits. For example, if the `bindings` grant 50
125
+ # different roles to `user:alice@example.com`, and not to any other
126
+ # principal, then you can add another 1,450 principals to the `bindings` in
127
+ # the `Policy`.
128
+ # @!attribute [rw] audit_configs
129
+ # @return [::Array<::Google::Iam::V1::AuditConfig>]
130
+ # Specifies cloud audit logging configuration for this policy.
101
131
  # @!attribute [rw] etag
102
132
  # @return [::String]
103
133
  # `etag` is used for optimistic concurrency control as a way to help
@@ -108,23 +138,23 @@ module Google
108
138
  # systems are expected to put that etag in the request to `setIamPolicy` to
109
139
  # ensure that their change will be applied to the same version of the policy.
110
140
  #
111
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
112
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
113
- # 'setIamPolicy' will not fail even if the incoming policy version does not
114
- # meet the requirements for modifying the stored policy.
141
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
142
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
143
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
144
+ # the conditions in the version `3` policy are lost.
115
145
  class Policy
116
146
  include ::Google::Protobuf::MessageExts
117
147
  extend ::Google::Protobuf::MessageExts::ClassMethods
118
148
  end
119
149
 
120
- # Associates `members` with a `role`.
150
+ # Associates `members`, or principals, with a `role`.
121
151
  # @!attribute [rw] role
122
152
  # @return [::String]
123
- # Role that is assigned to `members`.
153
+ # Role that is assigned to the list of `members`, or principals.
124
154
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
125
155
  # @!attribute [rw] members
126
156
  # @return [::Array<::String>]
127
- # Specifies the identities requesting access for a Cloud Platform resource.
157
+ # Specifies the principals requesting access for a Cloud Platform resource.
128
158
  # `members` can have the following values:
129
159
  #
130
160
  # * `allUsers`: A special identifier that represents anyone who is
@@ -143,20 +173,160 @@ module Google
143
173
  # * `group:{emailid}`: An email address that represents a Google group.
144
174
  # For example, `admins@example.com`.
145
175
  #
176
+ # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
177
+ # identifier) representing a user that has been recently deleted. For
178
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
179
+ # recovered, this value reverts to `user:{emailid}` and the recovered user
180
+ # retains the role in the binding.
181
+ #
182
+ # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
183
+ # unique identifier) representing a service account that has been recently
184
+ # deleted. For example,
185
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
186
+ # If the service account is undeleted, this value reverts to
187
+ # `serviceAccount:{emailid}` and the undeleted service account retains the
188
+ # role in the binding.
189
+ #
190
+ # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
191
+ # identifier) representing a Google group that has been recently
192
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
193
+ # the group is recovered, this value reverts to `group:{emailid}` and the
194
+ # recovered group retains the role in the binding.
195
+ #
146
196
  #
147
197
  # * `domain:{domain}`: The G Suite domain (primary) that represents all the
148
198
  # users of that domain. For example, `google.com` or `example.com`.
149
199
  # @!attribute [rw] condition
150
200
  # @return [::Google::Type::Expr]
151
201
  # The condition that is associated with this binding.
152
- # NOTE: An unsatisfied condition will not allow user access via current
153
- # binding. Different bindings, including their conditions, are examined
154
- # independently.
202
+ #
203
+ # If the condition evaluates to `true`, then this binding applies to the
204
+ # current request.
205
+ #
206
+ # If the condition evaluates to `false`, then this binding does not apply to
207
+ # the current request. However, a different role binding might grant the same
208
+ # role to one or more of the principals in this binding.
209
+ #
210
+ # To learn which resources support conditions in their IAM policies, see the
211
+ # [IAM
212
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
155
213
  class Binding
156
214
  include ::Google::Protobuf::MessageExts
157
215
  extend ::Google::Protobuf::MessageExts::ClassMethods
158
216
  end
159
217
 
218
+ # Specifies the audit configuration for a service.
219
+ # The configuration determines which permission types are logged, and what
220
+ # identities, if any, are exempted from logging.
221
+ # An AuditConfig must have one or more AuditLogConfigs.
222
+ #
223
+ # If there are AuditConfigs for both `allServices` and a specific service,
224
+ # the union of the two AuditConfigs is used for that service: the log_types
225
+ # specified in each AuditConfig are enabled, and the exempted_members in each
226
+ # AuditLogConfig are exempted.
227
+ #
228
+ # Example Policy with multiple AuditConfigs:
229
+ #
230
+ # {
231
+ # "audit_configs": [
232
+ # {
233
+ # "service": "allServices",
234
+ # "audit_log_configs": [
235
+ # {
236
+ # "log_type": "DATA_READ",
237
+ # "exempted_members": [
238
+ # "user:jose@example.com"
239
+ # ]
240
+ # },
241
+ # {
242
+ # "log_type": "DATA_WRITE"
243
+ # },
244
+ # {
245
+ # "log_type": "ADMIN_READ"
246
+ # }
247
+ # ]
248
+ # },
249
+ # {
250
+ # "service": "sampleservice.googleapis.com",
251
+ # "audit_log_configs": [
252
+ # {
253
+ # "log_type": "DATA_READ"
254
+ # },
255
+ # {
256
+ # "log_type": "DATA_WRITE",
257
+ # "exempted_members": [
258
+ # "user:aliya@example.com"
259
+ # ]
260
+ # }
261
+ # ]
262
+ # }
263
+ # ]
264
+ # }
265
+ #
266
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
267
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
268
+ # aliya@example.com from DATA_WRITE logging.
269
+ # @!attribute [rw] service
270
+ # @return [::String]
271
+ # Specifies a service that will be enabled for audit logging.
272
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
273
+ # `allServices` is a special value that covers all services.
274
+ # @!attribute [rw] audit_log_configs
275
+ # @return [::Array<::Google::Iam::V1::AuditLogConfig>]
276
+ # The configuration for logging of each type of permission.
277
+ class AuditConfig
278
+ include ::Google::Protobuf::MessageExts
279
+ extend ::Google::Protobuf::MessageExts::ClassMethods
280
+ end
281
+
282
+ # Provides the configuration for logging a type of permissions.
283
+ # Example:
284
+ #
285
+ # {
286
+ # "audit_log_configs": [
287
+ # {
288
+ # "log_type": "DATA_READ",
289
+ # "exempted_members": [
290
+ # "user:jose@example.com"
291
+ # ]
292
+ # },
293
+ # {
294
+ # "log_type": "DATA_WRITE"
295
+ # }
296
+ # ]
297
+ # }
298
+ #
299
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
300
+ # jose@example.com from DATA_READ logging.
301
+ # @!attribute [rw] log_type
302
+ # @return [::Google::Iam::V1::AuditLogConfig::LogType]
303
+ # The log type that this config enables.
304
+ # @!attribute [rw] exempted_members
305
+ # @return [::Array<::String>]
306
+ # Specifies the identities that do not cause logging for this type of
307
+ # permission.
308
+ # Follows the same format of {::Google::Iam::V1::Binding#members Binding.members}.
309
+ class AuditLogConfig
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+
313
+ # The list of valid permission types for which logging can be configured.
314
+ # Admin writes are always logged, and are not configurable.
315
+ module LogType
316
+ # Default case. Should never be this.
317
+ LOG_TYPE_UNSPECIFIED = 0
318
+
319
+ # Admin reads. Example: CloudIAM getIamPolicy
320
+ ADMIN_READ = 1
321
+
322
+ # Data writes. Example: CloudSQL Users create
323
+ DATA_WRITE = 2
324
+
325
+ # Data reads. Example: CloudSQL Users list
326
+ DATA_READ = 3
327
+ end
328
+ end
329
+
160
330
  # The difference delta between two policies.
161
331
  # @!attribute [rw] binding_deltas
162
332
  # @return [::Array<::Google::Iam::V1::BindingDelta>]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-iap-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-11 00:00:00.000000000 Z
11
+ date: 2022-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -48,22 +48,16 @@ dependencies:
48
48
  name: grpc-google-iam-v1
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 0.6.10
54
- - - "<"
51
+ - - "~>"
55
52
  - !ruby/object:Gem::Version
56
- version: 2.a
53
+ version: '1.1'
57
54
  type: :runtime
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 0.6.10
64
- - - "<"
58
+ - - "~>"
65
59
  - !ruby/object:Gem::Version
66
- version: 2.a
60
+ version: '1.1'
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: google-style
69
63
  requirement: !ruby/object:Gem::Requirement
@@ -231,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
225
  - !ruby/object:Gem::Version
232
226
  version: '0'
233
227
  requirements: []
234
- rubygems_version: 3.2.17
228
+ rubygems_version: 3.3.5
235
229
  signing_key:
236
230
  specification_version: 4
237
231
  summary: API Client library for the Identity-Aware Proxy V1 API