google-api-client 0.39.0 → 0.39.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/generated/google/apis/bigquery_v2.rb +1 -1
  4. data/generated/google/apis/bigquery_v2/classes.rb +566 -0
  5. data/generated/google/apis/bigquery_v2/representations.rb +147 -0
  6. data/generated/google/apis/bigquery_v2/service.rb +120 -0
  7. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  8. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +26 -10
  9. data/generated/google/apis/books_v1.rb +3 -3
  10. data/generated/google/apis/books_v1/classes.rb +435 -289
  11. data/generated/google/apis/books_v1/representations.rb +124 -91
  12. data/generated/google/apis/books_v1/service.rb +354 -484
  13. data/generated/google/apis/chat_v1.rb +1 -1
  14. data/generated/google/apis/chat_v1/classes.rb +15 -0
  15. data/generated/google/apis/chat_v1/representations.rb +2 -0
  16. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  17. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  18. data/generated/google/apis/cloudfunctions_v1/classes.rb +24 -12
  19. data/generated/google/apis/cloudfunctions_v1/service.rb +3 -0
  20. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  21. data/generated/google/apis/cloudtasks_v2/classes.rb +26 -10
  22. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  23. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +26 -10
  24. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  25. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +26 -10
  26. data/generated/google/apis/logging_v2.rb +1 -1
  27. data/generated/google/apis/logging_v2/classes.rb +45 -32
  28. data/generated/google/apis/logging_v2/service.rb +9 -5
  29. data/generated/google/apis/monitoring_v3.rb +1 -1
  30. data/generated/google/apis/monitoring_v3/classes.rb +7 -5
  31. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  32. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +26 -14
  33. data/generated/google/apis/networkmanagement_v1beta1/service.rb +9 -6
  34. data/generated/google/apis/osconfig_v1beta.rb +35 -0
  35. data/generated/google/apis/osconfig_v1beta/classes.rb +2365 -0
  36. data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
  37. data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
  38. data/generated/google/apis/pubsub_v1.rb +1 -1
  39. data/generated/google/apis/pubsub_v1/classes.rb +36 -11
  40. data/generated/google/apis/pubsub_v1/representations.rb +1 -0
  41. data/generated/google/apis/pubsub_v1/service.rb +15 -6
  42. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  43. data/generated/google/apis/pubsub_v1beta2/classes.rb +23 -10
  44. data/generated/google/apis/pubsub_v1beta2/service.rb +10 -4
  45. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  46. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +26 -10
  47. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  48. data/generated/google/apis/servicemanagement_v1/classes.rb +61 -26
  49. data/generated/google/apis/servicemanagement_v1/service.rb +4 -4
  50. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  51. data/generated/google/apis/toolresults_v1beta3/service.rb +1 -1
  52. data/generated/google/apis/vault_v1.rb +1 -1
  53. data/generated/google/apis/vault_v1/classes.rb +4 -1
  54. data/lib/google/apis/version.rb +1 -1
  55. metadata +7 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13d23a3b4c769e4f464d8355c86cfada6d65cca3414910a8ab79cfe10e08e0fa
4
- data.tar.gz: 8b8cc80125f73f97b77da501f8add53f297c2e93a22369226751ae5381dbcf7a
3
+ metadata.gz: d1f78ac78d5a365e346df4cc95230c8565ebe3f9494618bd568e990e877cec8a
4
+ data.tar.gz: 5471833b1cd7dcc3fbdfc8be5cd198aba3e7247cbc7644a72cb9af38c6d630a7
5
5
  SHA512:
6
- metadata.gz: ef9b1a44a3219dc10fa977b257bc597b75b6d3a8621b9dacdca22d3879784f8d3de0a3af9fd6279fcd9a714215420fafc17ba73a34518c580b1de3e9c42ee578
7
- data.tar.gz: 33604cd897a3e05cfcd19d99f139368b00725e7d0078c6a6faa8a19b611ef8d76d7f0bbf6c6c9524c49d9c1454de4ba285339bc4459cc201f2724ea434ecf5b5
6
+ metadata.gz: 6c8551d9c76b4481f5678b01d367313343d5cf0ca57ad8237f7ad56bd1c7dd196574cfb7fe48e928377353da6ffdbea46e2067e9e44f8e0e3eeea15df1dda00e
7
+ data.tar.gz: 61c69e6a3df09cf491625de7b264988e8bc191ca3b27488aa4914ea5b13093115dbf831a14c8c19bb8316efb6fb1b5c34d651f1539ffe327b1d604a9c230b1e9
@@ -1,3 +1,25 @@
1
+ # 0.39.1
2
+ * Backwards compatible changes:
3
+ * Added `osconfig_v1beta`
4
+ * Updated `bigquery_v2`
5
+ * Updated `bigqueryconnection_v1beta1`
6
+ * Updated `books_v1`
7
+ * Updated `chat_v1`
8
+ * Updated `clouddebugger_v2`
9
+ * Updated `cloudfunctions_v1`
10
+ * Updated `cloudtasks_v2`
11
+ * Updated `cloudtasks_v2beta2`
12
+ * Updated `cloudtasks_v2beta3`
13
+ * Updated `logging_v2`
14
+ * Updated `monitoring_v3`
15
+ * Updated `networkmanagement_v1beta1`
16
+ * Updated `pubsub_v1`
17
+ * Updated `pubsub_v1beta2`
18
+ * Updated `servicedirectory_v1beta1`
19
+ * Updated `servicemanagement_v1`
20
+ * Updated `toolresults_v1beta3`
21
+ * Updated `vault_v1`
22
+
1
23
  # 0.39.0
2
24
  * Breaking changes:
3
25
  * Deleted `commentanalyzer_v1alpha1`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryV2
27
27
  VERSION = 'V2'
28
- REVISION = '20200415'
28
+ REVISION = '20200429'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -312,6 +312,122 @@ module Google
312
312
  end
313
313
  end
314
314
 
315
+ # Specifies the audit configuration for a service.
316
+ # The configuration determines which permission types are logged, and what
317
+ # identities, if any, are exempted from logging.
318
+ # An AuditConfig must have one or more AuditLogConfigs.
319
+ # If there are AuditConfigs for both `allServices` and a specific service,
320
+ # the union of the two AuditConfigs is used for that service: the log_types
321
+ # specified in each AuditConfig are enabled, and the exempted_members in each
322
+ # AuditLogConfig are exempted.
323
+ # Example Policy with multiple AuditConfigs:
324
+ # `
325
+ # "audit_configs": [
326
+ # `
327
+ # "service": "allServices"
328
+ # "audit_log_configs": [
329
+ # `
330
+ # "log_type": "DATA_READ",
331
+ # "exempted_members": [
332
+ # "user:jose@example.com"
333
+ # ]
334
+ # `,
335
+ # `
336
+ # "log_type": "DATA_WRITE",
337
+ # `,
338
+ # `
339
+ # "log_type": "ADMIN_READ",
340
+ # `
341
+ # ]
342
+ # `,
343
+ # `
344
+ # "service": "sampleservice.googleapis.com"
345
+ # "audit_log_configs": [
346
+ # `
347
+ # "log_type": "DATA_READ",
348
+ # `,
349
+ # `
350
+ # "log_type": "DATA_WRITE",
351
+ # "exempted_members": [
352
+ # "user:aliya@example.com"
353
+ # ]
354
+ # `
355
+ # ]
356
+ # `
357
+ # ]
358
+ # `
359
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
360
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
361
+ # aliya@example.com from DATA_WRITE logging.
362
+ class AuditConfig
363
+ include Google::Apis::Core::Hashable
364
+
365
+ # The configuration for logging of each type of permission.
366
+ # Corresponds to the JSON property `auditLogConfigs`
367
+ # @return [Array<Google::Apis::BigqueryV2::AuditLogConfig>]
368
+ attr_accessor :audit_log_configs
369
+
370
+ # Specifies a service that will be enabled for audit logging.
371
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
372
+ # `allServices` is a special value that covers all services.
373
+ # Corresponds to the JSON property `service`
374
+ # @return [String]
375
+ attr_accessor :service
376
+
377
+ def initialize(**args)
378
+ update!(**args)
379
+ end
380
+
381
+ # Update properties of this object
382
+ def update!(**args)
383
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
384
+ @service = args[:service] if args.key?(:service)
385
+ end
386
+ end
387
+
388
+ # Provides the configuration for logging a type of permissions.
389
+ # Example:
390
+ # `
391
+ # "audit_log_configs": [
392
+ # `
393
+ # "log_type": "DATA_READ",
394
+ # "exempted_members": [
395
+ # "user:jose@example.com"
396
+ # ]
397
+ # `,
398
+ # `
399
+ # "log_type": "DATA_WRITE",
400
+ # `
401
+ # ]
402
+ # `
403
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
404
+ # jose@example.com from DATA_READ logging.
405
+ class AuditLogConfig
406
+ include Google::Apis::Core::Hashable
407
+
408
+ # Specifies the identities that do not cause logging for this type of
409
+ # permission.
410
+ # Follows the same format of Binding.members.
411
+ # Corresponds to the JSON property `exemptedMembers`
412
+ # @return [Array<String>]
413
+ attr_accessor :exempted_members
414
+
415
+ # The log type that this config enables.
416
+ # Corresponds to the JSON property `logType`
417
+ # @return [String]
418
+ attr_accessor :log_type
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
427
+ @log_type = args[:log_type] if args.key?(:log_type)
428
+ end
429
+ end
430
+
315
431
  #
316
432
  class BigQueryModelTraining
317
433
  include Google::Apis::Core::Hashable
@@ -624,6 +740,89 @@ module Google
624
740
  end
625
741
  end
626
742
 
743
+ # Associates `members` with a `role`.
744
+ class Binding
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # Represents a textual expression in the Common Expression Language (CEL)
748
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
749
+ # are documented at https://github.com/google/cel-spec.
750
+ # Example (Comparison):
751
+ # title: "Summary size limit"
752
+ # description: "Determines if a summary is less than 100 chars"
753
+ # expression: "document.summary.size() < 100"
754
+ # Example (Equality):
755
+ # title: "Requestor is owner"
756
+ # description: "Determines if requestor is the document owner"
757
+ # expression: "document.owner == request.auth.claims.email"
758
+ # Example (Logic):
759
+ # title: "Public documents"
760
+ # description: "Determine whether the document should be publicly visible"
761
+ # expression: "document.type != 'private' && document.type != 'internal'"
762
+ # Example (Data Manipulation):
763
+ # title: "Notification string"
764
+ # description: "Create a notification string with a timestamp."
765
+ # expression: "'New message received at ' + string(document.create_time)"
766
+ # The exact variables and functions that may be referenced within an expression
767
+ # are determined by the service that evaluates it. See the service
768
+ # documentation for additional information.
769
+ # Corresponds to the JSON property `condition`
770
+ # @return [Google::Apis::BigqueryV2::Expr]
771
+ attr_accessor :condition
772
+
773
+ # Specifies the identities requesting access for a Cloud Platform resource.
774
+ # `members` can have the following values:
775
+ # * `allUsers`: A special identifier that represents anyone who is
776
+ # on the internet; with or without a Google account.
777
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
778
+ # who is authenticated with a Google account or a service account.
779
+ # * `user:`emailid``: An email address that represents a specific Google
780
+ # account. For example, `alice@example.com` .
781
+ # * `serviceAccount:`emailid``: An email address that represents a service
782
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
783
+ # * `group:`emailid``: An email address that represents a Google group.
784
+ # For example, `admins@example.com`.
785
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
786
+ # identifier) representing a user that has been recently deleted. For
787
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
788
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
789
+ # retains the role in the binding.
790
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
791
+ # unique identifier) representing a service account that has been recently
792
+ # deleted. For example,
793
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
794
+ # If the service account is undeleted, this value reverts to
795
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
796
+ # role in the binding.
797
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
798
+ # identifier) representing a Google group that has been recently
799
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
800
+ # the group is recovered, this value reverts to `group:`emailid`` and the
801
+ # recovered group retains the role in the binding.
802
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
803
+ # users of that domain. For example, `google.com` or `example.com`.
804
+ # Corresponds to the JSON property `members`
805
+ # @return [Array<String>]
806
+ attr_accessor :members
807
+
808
+ # Role that is assigned to `members`.
809
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
810
+ # Corresponds to the JSON property `role`
811
+ # @return [String]
812
+ attr_accessor :role
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @condition = args[:condition] if args.key?(:condition)
821
+ @members = args[:members] if args.key?(:members)
822
+ @role = args[:role] if args.key?(:role)
823
+ end
824
+ end
825
+
627
826
  #
628
827
  class BqmlIterationResult
629
828
  include Google::Apis::Core::Hashable
@@ -1832,6 +2031,69 @@ module Google
1832
2031
  end
1833
2032
  end
1834
2033
 
2034
+ # Represents a textual expression in the Common Expression Language (CEL)
2035
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
2036
+ # are documented at https://github.com/google/cel-spec.
2037
+ # Example (Comparison):
2038
+ # title: "Summary size limit"
2039
+ # description: "Determines if a summary is less than 100 chars"
2040
+ # expression: "document.summary.size() < 100"
2041
+ # Example (Equality):
2042
+ # title: "Requestor is owner"
2043
+ # description: "Determines if requestor is the document owner"
2044
+ # expression: "document.owner == request.auth.claims.email"
2045
+ # Example (Logic):
2046
+ # title: "Public documents"
2047
+ # description: "Determine whether the document should be publicly visible"
2048
+ # expression: "document.type != 'private' && document.type != 'internal'"
2049
+ # Example (Data Manipulation):
2050
+ # title: "Notification string"
2051
+ # description: "Create a notification string with a timestamp."
2052
+ # expression: "'New message received at ' + string(document.create_time)"
2053
+ # The exact variables and functions that may be referenced within an expression
2054
+ # are determined by the service that evaluates it. See the service
2055
+ # documentation for additional information.
2056
+ class Expr
2057
+ include Google::Apis::Core::Hashable
2058
+
2059
+ # Optional. Description of the expression. This is a longer text which
2060
+ # describes the expression, e.g. when hovered over it in a UI.
2061
+ # Corresponds to the JSON property `description`
2062
+ # @return [String]
2063
+ attr_accessor :description
2064
+
2065
+ # Textual representation of an expression in Common Expression Language
2066
+ # syntax.
2067
+ # Corresponds to the JSON property `expression`
2068
+ # @return [String]
2069
+ attr_accessor :expression
2070
+
2071
+ # Optional. String indicating the location of the expression for error
2072
+ # reporting, e.g. a file name and a position in the file.
2073
+ # Corresponds to the JSON property `location`
2074
+ # @return [String]
2075
+ attr_accessor :location
2076
+
2077
+ # Optional. Title for the expression, i.e. a short string describing
2078
+ # its purpose. This can be used e.g. in UIs which allow to enter the
2079
+ # expression.
2080
+ # Corresponds to the JSON property `title`
2081
+ # @return [String]
2082
+ attr_accessor :title
2083
+
2084
+ def initialize(**args)
2085
+ update!(**args)
2086
+ end
2087
+
2088
+ # Update properties of this object
2089
+ def update!(**args)
2090
+ @description = args[:description] if args.key?(:description)
2091
+ @expression = args[:expression] if args.key?(:expression)
2092
+ @location = args[:location] if args.key?(:location)
2093
+ @title = args[:title] if args.key?(:title)
2094
+ end
2095
+ end
2096
+
1835
2097
  #
1836
2098
  class ExternalDataConfiguration
1837
2099
  include Google::Apis::Core::Hashable
@@ -1973,6 +2235,52 @@ module Google
1973
2235
  end
1974
2236
  end
1975
2237
 
2238
+ # Request message for `GetIamPolicy` method.
2239
+ class GetIamPolicyRequest
2240
+ include Google::Apis::Core::Hashable
2241
+
2242
+ # Encapsulates settings provided to GetIamPolicy.
2243
+ # Corresponds to the JSON property `options`
2244
+ # @return [Google::Apis::BigqueryV2::GetPolicyOptions]
2245
+ attr_accessor :options
2246
+
2247
+ def initialize(**args)
2248
+ update!(**args)
2249
+ end
2250
+
2251
+ # Update properties of this object
2252
+ def update!(**args)
2253
+ @options = args[:options] if args.key?(:options)
2254
+ end
2255
+ end
2256
+
2257
+ # Encapsulates settings provided to GetIamPolicy.
2258
+ class GetPolicyOptions
2259
+ include Google::Apis::Core::Hashable
2260
+
2261
+ # Optional. The policy format version to be returned.
2262
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
2263
+ # rejected.
2264
+ # Requests for policies with any conditional bindings must specify version 3.
2265
+ # Policies without any conditional bindings may specify any valid value or
2266
+ # leave the field unset.
2267
+ # To learn which resources support conditions in their IAM policies, see the
2268
+ # [IAM
2269
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
2270
+ # Corresponds to the JSON property `requestedPolicyVersion`
2271
+ # @return [Fixnum]
2272
+ attr_accessor :requested_policy_version
2273
+
2274
+ def initialize(**args)
2275
+ update!(**args)
2276
+ end
2277
+
2278
+ # Update properties of this object
2279
+ def update!(**args)
2280
+ @requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
2281
+ end
2282
+ end
2283
+
1976
2284
  #
1977
2285
  class GetQueryResultsResponse
1978
2286
  include Google::Apis::Core::Hashable
@@ -3980,6 +4288,134 @@ module Google
3980
4288
  end
3981
4289
  end
3982
4290
 
4291
+ # An Identity and Access Management (IAM) policy, which specifies access
4292
+ # controls for Google Cloud resources.
4293
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
4294
+ # `members` to a single `role`. Members can be user accounts, service accounts,
4295
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
4296
+ # permissions; each `role` can be an IAM predefined role or a user-created
4297
+ # custom role.
4298
+ # For some types of Google Cloud resources, a `binding` can also specify a
4299
+ # `condition`, which is a logical expression that allows access to a resource
4300
+ # only if the expression evaluates to `true`. A condition can add constraints
4301
+ # based on attributes of the request, the resource, or both. To learn which
4302
+ # resources support conditions in their IAM policies, see the
4303
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
4304
+ # policies).
4305
+ # **JSON example:**
4306
+ # `
4307
+ # "bindings": [
4308
+ # `
4309
+ # "role": "roles/resourcemanager.organizationAdmin",
4310
+ # "members": [
4311
+ # "user:mike@example.com",
4312
+ # "group:admins@example.com",
4313
+ # "domain:google.com",
4314
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
4315
+ # ]
4316
+ # `,
4317
+ # `
4318
+ # "role": "roles/resourcemanager.organizationViewer",
4319
+ # "members": [
4320
+ # "user:eve@example.com"
4321
+ # ],
4322
+ # "condition": `
4323
+ # "title": "expirable access",
4324
+ # "description": "Does not grant access after Sep 2020",
4325
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
4326
+ # ",
4327
+ # `
4328
+ # `
4329
+ # ],
4330
+ # "etag": "BwWWja0YfJA=",
4331
+ # "version": 3
4332
+ # `
4333
+ # **YAML example:**
4334
+ # bindings:
4335
+ # - members:
4336
+ # - user:mike@example.com
4337
+ # - group:admins@example.com
4338
+ # - domain:google.com
4339
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
4340
+ # role: roles/resourcemanager.organizationAdmin
4341
+ # - members:
4342
+ # - user:eve@example.com
4343
+ # role: roles/resourcemanager.organizationViewer
4344
+ # condition:
4345
+ # title: expirable access
4346
+ # description: Does not grant access after Sep 2020
4347
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
4348
+ # - etag: BwWWja0YfJA=
4349
+ # - version: 3
4350
+ # For a description of IAM and its features, see the
4351
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
4352
+ class Policy
4353
+ include Google::Apis::Core::Hashable
4354
+
4355
+ # Specifies cloud audit logging configuration for this policy.
4356
+ # Corresponds to the JSON property `auditConfigs`
4357
+ # @return [Array<Google::Apis::BigqueryV2::AuditConfig>]
4358
+ attr_accessor :audit_configs
4359
+
4360
+ # Associates a list of `members` to a `role`. Optionally, may specify a
4361
+ # `condition` that determines how and when the `bindings` are applied. Each
4362
+ # of the `bindings` must contain at least one member.
4363
+ # Corresponds to the JSON property `bindings`
4364
+ # @return [Array<Google::Apis::BigqueryV2::Binding>]
4365
+ attr_accessor :bindings
4366
+
4367
+ # `etag` is used for optimistic concurrency control as a way to help
4368
+ # prevent simultaneous updates of a policy from overwriting each other.
4369
+ # It is strongly suggested that systems make use of the `etag` in the
4370
+ # read-modify-write cycle to perform policy updates in order to avoid race
4371
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
4372
+ # systems are expected to put that etag in the request to `setIamPolicy` to
4373
+ # ensure that their change will be applied to the same version of the policy.
4374
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
4375
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
4376
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
4377
+ # the conditions in the version `3` policy are lost.
4378
+ # Corresponds to the JSON property `etag`
4379
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4380
+ # @return [String]
4381
+ attr_accessor :etag
4382
+
4383
+ # Specifies the format of the policy.
4384
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
4385
+ # are rejected.
4386
+ # Any operation that affects conditional role bindings must specify version
4387
+ # `3`. This requirement applies to the following operations:
4388
+ # * Getting a policy that includes a conditional role binding
4389
+ # * Adding a conditional role binding to a policy
4390
+ # * Changing a conditional role binding in a policy
4391
+ # * Removing any role binding, with or without a condition, from a policy
4392
+ # that includes conditions
4393
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
4394
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
4395
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
4396
+ # the conditions in the version `3` policy are lost.
4397
+ # If a policy does not include any conditions, operations on that policy may
4398
+ # specify any valid version or leave the field unset.
4399
+ # To learn which resources support conditions in their IAM policies, see the
4400
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
4401
+ # policies).
4402
+ # Corresponds to the JSON property `version`
4403
+ # @return [Fixnum]
4404
+ attr_accessor :version
4405
+
4406
+ def initialize(**args)
4407
+ update!(**args)
4408
+ end
4409
+
4410
+ # Update properties of this object
4411
+ def update!(**args)
4412
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
4413
+ @bindings = args[:bindings] if args.key?(:bindings)
4414
+ @etag = args[:etag] if args.key?(:etag)
4415
+ @version = args[:version] if args.key?(:version)
4416
+ end
4417
+ end
4418
+
3983
4419
  #
3984
4420
  class ProjectList
3985
4421
  include Google::Apis::Core::Hashable
@@ -4914,6 +5350,94 @@ module Google
4914
5350
  end
4915
5351
  end
4916
5352
 
5353
+ # Request message for `SetIamPolicy` method.
5354
+ class SetIamPolicyRequest
5355
+ include Google::Apis::Core::Hashable
5356
+
5357
+ # An Identity and Access Management (IAM) policy, which specifies access
5358
+ # controls for Google Cloud resources.
5359
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
5360
+ # `members` to a single `role`. Members can be user accounts, service accounts,
5361
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
5362
+ # permissions; each `role` can be an IAM predefined role or a user-created
5363
+ # custom role.
5364
+ # For some types of Google Cloud resources, a `binding` can also specify a
5365
+ # `condition`, which is a logical expression that allows access to a resource
5366
+ # only if the expression evaluates to `true`. A condition can add constraints
5367
+ # based on attributes of the request, the resource, or both. To learn which
5368
+ # resources support conditions in their IAM policies, see the
5369
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
5370
+ # policies).
5371
+ # **JSON example:**
5372
+ # `
5373
+ # "bindings": [
5374
+ # `
5375
+ # "role": "roles/resourcemanager.organizationAdmin",
5376
+ # "members": [
5377
+ # "user:mike@example.com",
5378
+ # "group:admins@example.com",
5379
+ # "domain:google.com",
5380
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
5381
+ # ]
5382
+ # `,
5383
+ # `
5384
+ # "role": "roles/resourcemanager.organizationViewer",
5385
+ # "members": [
5386
+ # "user:eve@example.com"
5387
+ # ],
5388
+ # "condition": `
5389
+ # "title": "expirable access",
5390
+ # "description": "Does not grant access after Sep 2020",
5391
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
5392
+ # ",
5393
+ # `
5394
+ # `
5395
+ # ],
5396
+ # "etag": "BwWWja0YfJA=",
5397
+ # "version": 3
5398
+ # `
5399
+ # **YAML example:**
5400
+ # bindings:
5401
+ # - members:
5402
+ # - user:mike@example.com
5403
+ # - group:admins@example.com
5404
+ # - domain:google.com
5405
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
5406
+ # role: roles/resourcemanager.organizationAdmin
5407
+ # - members:
5408
+ # - user:eve@example.com
5409
+ # role: roles/resourcemanager.organizationViewer
5410
+ # condition:
5411
+ # title: expirable access
5412
+ # description: Does not grant access after Sep 2020
5413
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
5414
+ # - etag: BwWWja0YfJA=
5415
+ # - version: 3
5416
+ # For a description of IAM and its features, see the
5417
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
5418
+ # Corresponds to the JSON property `policy`
5419
+ # @return [Google::Apis::BigqueryV2::Policy]
5420
+ attr_accessor :policy
5421
+
5422
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
5423
+ # the fields in the mask will be modified. If no mask is provided, the
5424
+ # following default mask is used:
5425
+ # `paths: "bindings, etag"`
5426
+ # Corresponds to the JSON property `updateMask`
5427
+ # @return [String]
5428
+ attr_accessor :update_mask
5429
+
5430
+ def initialize(**args)
5431
+ update!(**args)
5432
+ end
5433
+
5434
+ # Update properties of this object
5435
+ def update!(**args)
5436
+ @policy = args[:policy] if args.key?(:policy)
5437
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
5438
+ end
5439
+ end
5440
+
4917
5441
  # The type of a variable, e.g., a function argument.
4918
5442
  # Examples:
4919
5443
  # INT64: `type_kind="INT64"`
@@ -5785,6 +6309,48 @@ module Google
5785
6309
  end
5786
6310
  end
5787
6311
 
6312
+ # Request message for `TestIamPermissions` method.
6313
+ class TestIamPermissionsRequest
6314
+ include Google::Apis::Core::Hashable
6315
+
6316
+ # The set of permissions to check for the `resource`. Permissions with
6317
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
6318
+ # information see
6319
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
6320
+ # Corresponds to the JSON property `permissions`
6321
+ # @return [Array<String>]
6322
+ attr_accessor :permissions
6323
+
6324
+ def initialize(**args)
6325
+ update!(**args)
6326
+ end
6327
+
6328
+ # Update properties of this object
6329
+ def update!(**args)
6330
+ @permissions = args[:permissions] if args.key?(:permissions)
6331
+ end
6332
+ end
6333
+
6334
+ # Response message for `TestIamPermissions` method.
6335
+ class TestIamPermissionsResponse
6336
+ include Google::Apis::Core::Hashable
6337
+
6338
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
6339
+ # allowed.
6340
+ # Corresponds to the JSON property `permissions`
6341
+ # @return [Array<String>]
6342
+ attr_accessor :permissions
6343
+
6344
+ def initialize(**args)
6345
+ update!(**args)
6346
+ end
6347
+
6348
+ # Update properties of this object
6349
+ def update!(**args)
6350
+ @permissions = args[:permissions] if args.key?(:permissions)
6351
+ end
6352
+ end
6353
+
5788
6354
  #
5789
6355
  class TimePartitioning
5790
6356
  include Google::Apis::Core::Hashable