google-api-client 0.36.0 → 0.36.1

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.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +69 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -1
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +7 -4
  7. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  8. data/generated/google/apis/androidpublisher_v3/classes.rb +32 -32
  9. data/generated/google/apis/androidpublisher_v3/representations.rb +17 -17
  10. data/generated/google/apis/bigquery_v2.rb +1 -1
  11. data/generated/google/apis/bigquery_v2/classes.rb +2 -1
  12. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  13. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +81 -41
  14. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
  15. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +8 -8
  16. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  17. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +60 -30
  18. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  19. data/generated/google/apis/bigtableadmin_v2/classes.rb +75 -40
  20. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  21. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  22. data/generated/google/apis/binaryauthorization_v1/classes.rb +75 -41
  23. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  24. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +75 -41
  25. data/generated/google/apis/chat_v1.rb +1 -1
  26. data/generated/google/apis/chat_v1/service.rb +5 -2
  27. data/generated/google/apis/cloudasset_v1.rb +1 -1
  28. data/generated/google/apis/cloudasset_v1/classes.rb +206 -0
  29. data/generated/google/apis/cloudasset_v1/representations.rb +101 -0
  30. data/generated/google/apis/cloudasset_v1/service.rb +174 -0
  31. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  32. data/generated/google/apis/cloudbilling_v1/classes.rb +59 -41
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +9 -5
  35. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  36. data/generated/google/apis/cloudfunctions_v1/classes.rb +75 -41
  37. data/generated/google/apis/cloudiot_v1.rb +1 -1
  38. data/generated/google/apis/cloudiot_v1/classes.rb +75 -41
  39. data/generated/google/apis/cloudkms_v1.rb +1 -1
  40. data/generated/google/apis/cloudkms_v1/classes.rb +104 -41
  41. data/generated/google/apis/cloudkms_v1/representations.rb +15 -0
  42. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  43. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +75 -41
  44. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  45. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +75 -41
  46. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
  47. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  48. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +75 -41
  49. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  50. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +75 -41
  51. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  52. data/generated/google/apis/cloudsearch_v1/classes.rb +3 -2
  53. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  54. data/generated/google/apis/cloudtasks_v2/classes.rb +81 -47
  55. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  56. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +75 -41
  57. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  58. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +81 -47
  59. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  60. data/generated/google/apis/cloudtrace_v2/classes.rb +5 -3
  61. data/generated/google/apis/compute_alpha.rb +1 -1
  62. data/generated/google/apis/compute_alpha/classes.rb +68 -47
  63. data/generated/google/apis/compute_alpha/representations.rb +2 -1
  64. data/generated/google/apis/compute_alpha/service.rb +54 -0
  65. data/generated/google/apis/compute_beta.rb +1 -1
  66. data/generated/google/apis/compute_beta/classes.rb +597 -40
  67. data/generated/google/apis/compute_beta/representations.rb +164 -0
  68. data/generated/google/apis/compute_beta/service.rb +343 -1
  69. data/generated/google/apis/compute_v1.rb +1 -1
  70. data/generated/google/apis/compute_v1/classes.rb +54 -39
  71. data/generated/google/apis/compute_v1/representations.rb +1 -0
  72. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  73. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +75 -41
  74. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  75. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +77 -43
  76. data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
  77. data/generated/google/apis/content_v2.rb +1 -1
  78. data/generated/google/apis/content_v2/classes.rb +46 -42
  79. data/generated/google/apis/content_v2_1.rb +1 -1
  80. data/generated/google/apis/content_v2_1/classes.rb +46 -42
  81. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  82. data/generated/google/apis/datacatalog_v1beta1/classes.rb +75 -41
  83. data/generated/google/apis/datastore_v1.rb +1 -1
  84. data/generated/google/apis/datastore_v1/classes.rb +16 -22
  85. data/generated/google/apis/datastore_v1/service.rb +10 -10
  86. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  87. data/generated/google/apis/datastore_v1beta3/classes.rb +5 -4
  88. data/generated/google/apis/datastore_v1beta3/service.rb +8 -8
  89. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  90. data/generated/google/apis/dfareporting_v3_4/classes.rb +88 -88
  91. data/generated/google/apis/dfareporting_v3_4/representations.rb +39 -39
  92. data/generated/google/apis/dialogflow_v2.rb +1 -1
  93. data/generated/google/apis/dialogflow_v2/classes.rb +1 -1
  94. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  95. data/generated/google/apis/dialogflow_v2beta1/classes.rb +1 -1
  96. data/generated/google/apis/dlp_v2.rb +1 -1
  97. data/generated/google/apis/dlp_v2/classes.rb +77 -0
  98. data/generated/google/apis/dlp_v2/representations.rb +42 -0
  99. data/generated/google/apis/file_v1.rb +1 -1
  100. data/generated/google/apis/file_v1/classes.rb +59 -12
  101. data/generated/google/apis/file_v1/representations.rb +19 -2
  102. data/generated/google/apis/file_v1/service.rb +8 -4
  103. data/generated/google/apis/file_v1beta1.rb +1 -1
  104. data/generated/google/apis/file_v1beta1/classes.rb +59 -12
  105. data/generated/google/apis/file_v1beta1/representations.rb +19 -2
  106. data/generated/google/apis/file_v1beta1/service.rb +8 -4
  107. data/generated/google/apis/firebaserules_v1.rb +1 -1
  108. data/generated/google/apis/firebaserules_v1/classes.rb +75 -0
  109. data/generated/google/apis/firebaserules_v1/representations.rb +35 -0
  110. data/generated/google/apis/gmail_v1.rb +1 -1
  111. data/generated/google/apis/gmail_v1/classes.rb +6 -2
  112. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  113. data/generated/google/apis/iamcredentials_v1/classes.rb +7 -4
  114. data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
  115. data/generated/google/apis/iap_v1.rb +1 -1
  116. data/generated/google/apis/iap_v1/classes.rb +225 -40
  117. data/generated/google/apis/iap_v1/representations.rb +84 -0
  118. data/generated/google/apis/iap_v1/service.rb +292 -0
  119. data/generated/google/apis/iap_v1beta1.rb +1 -1
  120. data/generated/google/apis/iap_v1beta1/classes.rb +75 -40
  121. data/generated/google/apis/logging_v2.rb +1 -1
  122. data/generated/google/apis/logging_v2/classes.rb +29 -41
  123. data/generated/google/apis/ml_v1.rb +1 -1
  124. data/generated/google/apis/ml_v1/classes.rb +14 -21
  125. data/generated/google/apis/ml_v1/service.rb +15 -18
  126. data/generated/google/apis/monitoring_v1.rb +1 -1
  127. data/generated/google/apis/monitoring_v1/classes.rb +15 -11
  128. data/generated/google/apis/monitoring_v3.rb +1 -1
  129. data/generated/google/apis/monitoring_v3/classes.rb +6 -10
  130. data/generated/google/apis/monitoring_v3/representations.rb +0 -1
  131. data/generated/google/apis/{fusiontables_v1.rb → policytroubleshooter_v1.rb} +10 -13
  132. data/generated/google/apis/policytroubleshooter_v1/classes.rb +700 -0
  133. data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
  134. data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
  135. data/generated/google/apis/pubsub_v1.rb +1 -1
  136. data/generated/google/apis/pubsub_v1/classes.rb +75 -41
  137. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  138. data/generated/google/apis/pubsub_v1beta2/classes.rb +75 -41
  139. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  140. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  141. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  142. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  143. data/generated/google/apis/run_v1.rb +1 -1
  144. data/generated/google/apis/run_v1/classes.rb +75 -41
  145. data/generated/google/apis/run_v1alpha1.rb +1 -1
  146. data/generated/google/apis/run_v1alpha1/classes.rb +82 -41
  147. data/generated/google/apis/run_v1alpha1/representations.rb +2 -0
  148. data/generated/google/apis/{fusiontables_v2.rb → secretmanager_v1beta1.rb} +11 -14
  149. data/generated/google/apis/secretmanager_v1beta1/classes.rb +936 -0
  150. data/generated/google/apis/secretmanager_v1beta1/representations.rb +388 -0
  151. data/generated/google/apis/secretmanager_v1beta1/service.rb +674 -0
  152. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  153. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +85 -1
  154. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +32 -0
  155. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  156. data/generated/google/apis/servicecontrol_v1/classes.rb +4 -3
  157. data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
  158. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  159. data/generated/google/apis/servicenetworking_v1/classes.rb +38 -1
  160. data/generated/google/apis/servicenetworking_v1/representations.rb +14 -0
  161. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  162. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  163. data/generated/google/apis/servicenetworking_v1beta/classes.rb +16 -1
  164. data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
  165. data/generated/google/apis/serviceusage_v1.rb +1 -1
  166. data/generated/google/apis/serviceusage_v1/classes.rb +16 -1
  167. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  168. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  169. data/generated/google/apis/serviceusage_v1beta1/classes.rb +16 -1
  170. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  171. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  172. data/generated/google/apis/storagetransfer_v1/service.rb +4 -2
  173. data/generated/google/apis/testing_v1.rb +1 -1
  174. data/generated/google/apis/testing_v1/classes.rb +2 -2
  175. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  176. data/generated/google/apis/toolresults_v1beta3/classes.rb +374 -2
  177. data/generated/google/apis/toolresults_v1beta3/representations.rb +109 -0
  178. data/generated/google/apis/toolresults_v1beta3/service.rb +98 -0
  179. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  180. data/lib/google/apis/version.rb +1 -1
  181. metadata +11 -11
  182. data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
  183. data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
  184. data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
  185. data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
  186. data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
  187. data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
@@ -215,6 +215,23 @@ module Google
215
215
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
216
216
  # * `group:`emailid``: An email address that represents a Google group.
217
217
  # For example, `admins@example.com`.
218
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
219
+ # identifier) representing a user that has been recently deleted. For
220
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
221
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
222
+ # retains the role in the binding.
223
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
224
+ # unique identifier) representing a service account that has been recently
225
+ # deleted. For example,
226
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
227
+ # If the service account is undeleted, this value reverts to
228
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
229
+ # role in the binding.
230
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
231
+ # identifier) representing a Google group that has been recently
232
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
233
+ # the group is recovered, this value reverts to `group:`emailid`` and the
234
+ # recovered group retains the role in the binding.
218
235
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
219
236
  # users of that domain. For example, `google.com` or `example.com`.
220
237
  # Corresponds to the JSON property `members`
@@ -2654,16 +2671,18 @@ module Google
2654
2671
  end
2655
2672
  end
2656
2673
 
2657
- # Defines an Identity and Access Management (IAM) policy. It is used to
2658
- # specify access control policies for Cloud Platform resources.
2674
+ # An Identity and Access Management (IAM) policy, which specifies access
2675
+ # controls for Google Cloud resources.
2659
2676
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2660
2677
  # `members` to a single `role`. Members can be user accounts, service accounts,
2661
2678
  # Google groups, and domains (such as G Suite). A `role` is a named list of
2662
- # permissions (defined by IAM or configured by users). A `binding` can
2663
- # optionally specify a `condition`, which is a logic expression that further
2664
- # constrains the role binding based on attributes about the request and/or
2665
- # target resource.
2666
- # **JSON Example**
2679
+ # permissions; each `role` can be an IAM predefined role or a user-created
2680
+ # custom role.
2681
+ # Optionally, a `binding` can specify a `condition`, which is a logical
2682
+ # expression that allows access to a resource only if the expression evaluates
2683
+ # to `true`. A condition can add constraints based on attributes of the
2684
+ # request, the resource, or both.
2685
+ # **JSON example:**
2667
2686
  # `
2668
2687
  # "bindings": [
2669
2688
  # `
@@ -2681,13 +2700,15 @@ module Google
2681
2700
  # "condition": `
2682
2701
  # "title": "expirable access",
2683
2702
  # "description": "Does not grant access after Sep 2020",
2684
- # "expression": "request.time <
2685
- # timestamp('2020-10-01T00:00:00.000Z')",
2703
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
2704
+ # ",
2686
2705
  # `
2687
2706
  # `
2688
- # ]
2707
+ # ],
2708
+ # "etag": "BwWWja0YfJA=",
2709
+ # "version": 3
2689
2710
  # `
2690
- # **YAML Example**
2711
+ # **YAML example:**
2691
2712
  # bindings:
2692
2713
  # - members:
2693
2714
  # - user:mike@example.com
@@ -2702,8 +2723,10 @@ module Google
2702
2723
  # title: expirable access
2703
2724
  # description: Does not grant access after Sep 2020
2704
2725
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
2726
+ # - etag: BwWWja0YfJA=
2727
+ # - version: 3
2705
2728
  # For a description of IAM and its features, see the
2706
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
2729
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
2707
2730
  class Policy
2708
2731
  include Google::Apis::Core::Hashable
2709
2732
 
@@ -2712,9 +2735,9 @@ module Google
2712
2735
  # @return [Array<Google::Apis::RunV1alpha1::AuditConfig>]
2713
2736
  attr_accessor :audit_configs
2714
2737
 
2715
- # Associates a list of `members` to a `role`. Optionally may specify a
2716
- # `condition` that determines when binding is in effect.
2717
- # `bindings` with no members will result in an error.
2738
+ # Associates a list of `members` to a `role`. Optionally, may specify a
2739
+ # `condition` that determines how and when the `bindings` are applied. Each
2740
+ # of the `bindings` must contain at least one member.
2718
2741
  # Corresponds to the JSON property `bindings`
2719
2742
  # @return [Array<Google::Apis::RunV1alpha1::Binding>]
2720
2743
  attr_accessor :bindings
@@ -2726,26 +2749,31 @@ module Google
2726
2749
  # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2727
2750
  # systems are expected to put that etag in the request to `setIamPolicy` to
2728
2751
  # ensure that their change will be applied to the same version of the policy.
2729
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
2730
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
2731
- # 'setIamPolicy' will not fail even if the incoming policy version does not
2732
- # meet the requirements for modifying the stored policy.
2752
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2753
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2754
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2755
+ # the conditions in the version `3` policy are lost.
2733
2756
  # Corresponds to the JSON property `etag`
2734
2757
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
2735
2758
  # @return [String]
2736
2759
  attr_accessor :etag
2737
2760
 
2738
2761
  # Specifies the format of the policy.
2739
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
2740
- # rejected.
2741
- # Operations affecting conditional bindings must specify version 3. This can
2742
- # be either setting a conditional policy, modifying a conditional binding,
2743
- # or removing a binding (conditional or unconditional) from the stored
2744
- # conditional policy.
2745
- # Operations on non-conditional policies may specify any valid value or
2746
- # leave the field unset.
2747
- # If no etag is provided in the call to `setIamPolicy`, version compliance
2748
- # checks against the stored policy is skipped.
2762
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
2763
+ # are rejected.
2764
+ # Any operation that affects conditional role bindings must specify version
2765
+ # `3`. This requirement applies to the following operations:
2766
+ # * Getting a policy that includes a conditional role binding
2767
+ # * Adding a conditional role binding to a policy
2768
+ # * Changing a conditional role binding in a policy
2769
+ # * Removing any role binding, with or without a condition, from a policy
2770
+ # that includes conditions
2771
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2772
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2773
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2774
+ # the conditions in the version `3` policy are lost.
2775
+ # If a policy does not include any conditions, operations on that policy may
2776
+ # specify any valid version or leave the field unset.
2749
2777
  # Corresponds to the JSON property `version`
2750
2778
  # @return [Fixnum]
2751
2779
  attr_accessor :version
@@ -4255,16 +4283,18 @@ module Google
4255
4283
  class SetIamPolicyRequest
4256
4284
  include Google::Apis::Core::Hashable
4257
4285
 
4258
- # Defines an Identity and Access Management (IAM) policy. It is used to
4259
- # specify access control policies for Cloud Platform resources.
4286
+ # An Identity and Access Management (IAM) policy, which specifies access
4287
+ # controls for Google Cloud resources.
4260
4288
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
4261
4289
  # `members` to a single `role`. Members can be user accounts, service accounts,
4262
4290
  # Google groups, and domains (such as G Suite). A `role` is a named list of
4263
- # permissions (defined by IAM or configured by users). A `binding` can
4264
- # optionally specify a `condition`, which is a logic expression that further
4265
- # constrains the role binding based on attributes about the request and/or
4266
- # target resource.
4267
- # **JSON Example**
4291
+ # permissions; each `role` can be an IAM predefined role or a user-created
4292
+ # custom role.
4293
+ # Optionally, a `binding` can specify a `condition`, which is a logical
4294
+ # expression that allows access to a resource only if the expression evaluates
4295
+ # to `true`. A condition can add constraints based on attributes of the
4296
+ # request, the resource, or both.
4297
+ # **JSON example:**
4268
4298
  # `
4269
4299
  # "bindings": [
4270
4300
  # `
@@ -4282,13 +4312,15 @@ module Google
4282
4312
  # "condition": `
4283
4313
  # "title": "expirable access",
4284
4314
  # "description": "Does not grant access after Sep 2020",
4285
- # "expression": "request.time <
4286
- # timestamp('2020-10-01T00:00:00.000Z')",
4315
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
4316
+ # ",
4287
4317
  # `
4288
4318
  # `
4289
- # ]
4319
+ # ],
4320
+ # "etag": "BwWWja0YfJA=",
4321
+ # "version": 3
4290
4322
  # `
4291
- # **YAML Example**
4323
+ # **YAML example:**
4292
4324
  # bindings:
4293
4325
  # - members:
4294
4326
  # - user:mike@example.com
@@ -4303,8 +4335,10 @@ module Google
4303
4335
  # title: expirable access
4304
4336
  # description: Does not grant access after Sep 2020
4305
4337
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
4338
+ # - etag: BwWWja0YfJA=
4339
+ # - version: 3
4306
4340
  # For a description of IAM and its features, see the
4307
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
4341
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
4308
4342
  # Corresponds to the JSON property `policy`
4309
4343
  # @return [Google::Apis::RunV1alpha1::Policy]
4310
4344
  attr_accessor :policy
@@ -4715,6 +4749,12 @@ module Google
4715
4749
  # @return [Array<Google::Apis::RunV1alpha1::TriggerImporterSpec>]
4716
4750
  attr_accessor :importers
4717
4751
 
4752
+ # Sink is the addressable that will receive events.
4753
+ # Corresponds to the JSON property `sink`
4754
+ # @return [Google::Apis::RunV1alpha1::Destination]
4755
+ attr_accessor :sink
4756
+
4757
+ # Deprecated, sink will be represented by Destination.
4718
4758
  # Subscriber is the addressable that receives events from the Broker that
4719
4759
  # pass the Filter. It is required.
4720
4760
  # E.g. https://us-central1-myproject.cloudfunctions.net/myfunction or
@@ -4732,6 +4772,7 @@ module Google
4732
4772
  @broker = args[:broker] if args.key?(:broker)
4733
4773
  @filter = args[:filter] if args.key?(:filter)
4734
4774
  @importers = args[:importers] if args.key?(:importers)
4775
+ @sink = args[:sink] if args.key?(:sink)
4735
4776
  @subscriber = args[:subscriber] if args.key?(:subscriber)
4736
4777
  end
4737
4778
  end
@@ -1738,6 +1738,8 @@ module Google
1738
1738
 
1739
1739
  collection :importers, as: 'importers', class: Google::Apis::RunV1alpha1::TriggerImporterSpec, decorator: Google::Apis::RunV1alpha1::TriggerImporterSpec::Representation
1740
1740
 
1741
+ property :sink, as: 'sink', class: Google::Apis::RunV1alpha1::Destination, decorator: Google::Apis::RunV1alpha1::Destination::Representation
1742
+
1741
1743
  property :subscriber, as: 'subscriber', class: Google::Apis::RunV1alpha1::SubscriberSpec, decorator: Google::Apis::RunV1alpha1::SubscriberSpec::Representation
1742
1744
 
1743
1745
  end
@@ -12,26 +12,23 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/fusiontables_v2/service.rb'
16
- require 'google/apis/fusiontables_v2/classes.rb'
17
- require 'google/apis/fusiontables_v2/representations.rb'
15
+ require 'google/apis/secretmanager_v1beta1/service.rb'
16
+ require 'google/apis/secretmanager_v1beta1/classes.rb'
17
+ require 'google/apis/secretmanager_v1beta1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Fusion Tables API
21
+ # Secret Manager API
22
22
  #
23
- # API for working with Fusion Tables data.
23
+ # Stores, manages, and secures access to application secrets.
24
24
  #
25
- # @see https://developers.google.com/fusiontables
26
- module FusiontablesV2
27
- VERSION = 'V2'
28
- REVISION = '20171117'
25
+ # @see https://cloud.google.com/secret-manager/
26
+ module SecretmanagerV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20191210'
29
29
 
30
- # Manage your Fusion Tables
31
- AUTH_FUSIONTABLES = 'https://www.googleapis.com/auth/fusiontables'
32
-
33
- # View your Fusion Tables
34
- AUTH_FUSIONTABLES_READONLY = 'https://www.googleapis.com/auth/fusiontables.readonly'
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
35
32
  end
36
33
  end
37
34
  end
@@ -0,0 +1,936 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module SecretmanagerV1beta1
24
+
25
+ # Response message for SecretManagerService.AccessSecretVersion.
26
+ class AccessSecretVersionResponse
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The resource name of the SecretVersion in the format
30
+ # `projects/*/secrets/*/versions/*`.
31
+ # Corresponds to the JSON property `name`
32
+ # @return [String]
33
+ attr_accessor :name
34
+
35
+ # A secret payload resource in the Secret Manager API. This contains the
36
+ # sensitive secret data that is associated with a SecretVersion.
37
+ # Corresponds to the JSON property `payload`
38
+ # @return [Google::Apis::SecretmanagerV1beta1::SecretPayload]
39
+ attr_accessor :payload
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @name = args[:name] if args.key?(:name)
48
+ @payload = args[:payload] if args.key?(:payload)
49
+ end
50
+ end
51
+
52
+ # Request message for SecretManagerService.AddSecretVersion.
53
+ class AddSecretVersionRequest
54
+ include Google::Apis::Core::Hashable
55
+
56
+ # A secret payload resource in the Secret Manager API. This contains the
57
+ # sensitive secret data that is associated with a SecretVersion.
58
+ # Corresponds to the JSON property `payload`
59
+ # @return [Google::Apis::SecretmanagerV1beta1::SecretPayload]
60
+ attr_accessor :payload
61
+
62
+ def initialize(**args)
63
+ update!(**args)
64
+ end
65
+
66
+ # Update properties of this object
67
+ def update!(**args)
68
+ @payload = args[:payload] if args.key?(:payload)
69
+ end
70
+ end
71
+
72
+ # Specifies the audit configuration for a service.
73
+ # The configuration determines which permission types are logged, and what
74
+ # identities, if any, are exempted from logging.
75
+ # An AuditConfig must have one or more AuditLogConfigs.
76
+ # If there are AuditConfigs for both `allServices` and a specific service,
77
+ # the union of the two AuditConfigs is used for that service: the log_types
78
+ # specified in each AuditConfig are enabled, and the exempted_members in each
79
+ # AuditLogConfig are exempted.
80
+ # Example Policy with multiple AuditConfigs:
81
+ # `
82
+ # "audit_configs": [
83
+ # `
84
+ # "service": "allServices"
85
+ # "audit_log_configs": [
86
+ # `
87
+ # "log_type": "DATA_READ",
88
+ # "exempted_members": [
89
+ # "user:jose@example.com"
90
+ # ]
91
+ # `,
92
+ # `
93
+ # "log_type": "DATA_WRITE",
94
+ # `,
95
+ # `
96
+ # "log_type": "ADMIN_READ",
97
+ # `
98
+ # ]
99
+ # `,
100
+ # `
101
+ # "service": "sampleservice.googleapis.com"
102
+ # "audit_log_configs": [
103
+ # `
104
+ # "log_type": "DATA_READ",
105
+ # `,
106
+ # `
107
+ # "log_type": "DATA_WRITE",
108
+ # "exempted_members": [
109
+ # "user:aliya@example.com"
110
+ # ]
111
+ # `
112
+ # ]
113
+ # `
114
+ # ]
115
+ # `
116
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
117
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
118
+ # aliya@example.com from DATA_WRITE logging.
119
+ class AuditConfig
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # The configuration for logging of each type of permission.
123
+ # Corresponds to the JSON property `auditLogConfigs`
124
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::AuditLogConfig>]
125
+ attr_accessor :audit_log_configs
126
+
127
+ # Specifies a service that will be enabled for audit logging.
128
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
129
+ # `allServices` is a special value that covers all services.
130
+ # Corresponds to the JSON property `service`
131
+ # @return [String]
132
+ attr_accessor :service
133
+
134
+ def initialize(**args)
135
+ update!(**args)
136
+ end
137
+
138
+ # Update properties of this object
139
+ def update!(**args)
140
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
141
+ @service = args[:service] if args.key?(:service)
142
+ end
143
+ end
144
+
145
+ # Provides the configuration for logging a type of permissions.
146
+ # Example:
147
+ # `
148
+ # "audit_log_configs": [
149
+ # `
150
+ # "log_type": "DATA_READ",
151
+ # "exempted_members": [
152
+ # "user:jose@example.com"
153
+ # ]
154
+ # `,
155
+ # `
156
+ # "log_type": "DATA_WRITE",
157
+ # `
158
+ # ]
159
+ # `
160
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
161
+ # jose@example.com from DATA_READ logging.
162
+ class AuditLogConfig
163
+ include Google::Apis::Core::Hashable
164
+
165
+ # Specifies the identities that do not cause logging for this type of
166
+ # permission.
167
+ # Follows the same format of Binding.members.
168
+ # Corresponds to the JSON property `exemptedMembers`
169
+ # @return [Array<String>]
170
+ attr_accessor :exempted_members
171
+
172
+ # The log type that this config enables.
173
+ # Corresponds to the JSON property `logType`
174
+ # @return [String]
175
+ attr_accessor :log_type
176
+
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
180
+
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
184
+ @log_type = args[:log_type] if args.key?(:log_type)
185
+ end
186
+ end
187
+
188
+ # A replication policy that replicates the Secret payload without any
189
+ # restrictions.
190
+ class Automatic
191
+ include Google::Apis::Core::Hashable
192
+
193
+ def initialize(**args)
194
+ update!(**args)
195
+ end
196
+
197
+ # Update properties of this object
198
+ def update!(**args)
199
+ end
200
+ end
201
+
202
+ # Associates `members` with a `role`.
203
+ class Binding
204
+ include Google::Apis::Core::Hashable
205
+
206
+ # Represents an expression text. Example:
207
+ # title: "User account presence"
208
+ # description: "Determines whether the request has a user account"
209
+ # expression: "size(request.user) > 0"
210
+ # Corresponds to the JSON property `condition`
211
+ # @return [Google::Apis::SecretmanagerV1beta1::Expr]
212
+ attr_accessor :condition
213
+
214
+ # Specifies the identities requesting access for a Cloud Platform resource.
215
+ # `members` can have the following values:
216
+ # * `allUsers`: A special identifier that represents anyone who is
217
+ # on the internet; with or without a Google account.
218
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
219
+ # who is authenticated with a Google account or a service account.
220
+ # * `user:`emailid``: An email address that represents a specific Google
221
+ # account. For example, `alice@example.com` .
222
+ # * `serviceAccount:`emailid``: An email address that represents a service
223
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
224
+ # * `group:`emailid``: An email address that represents a Google group.
225
+ # For example, `admins@example.com`.
226
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
227
+ # identifier) representing a user that has been recently deleted. For
228
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
229
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
230
+ # retains the role in the binding.
231
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
232
+ # unique identifier) representing a service account that has been recently
233
+ # deleted. For example,
234
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
235
+ # If the service account is undeleted, this value reverts to
236
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
237
+ # role in the binding.
238
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
239
+ # identifier) representing a Google group that has been recently
240
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
241
+ # the group is recovered, this value reverts to `group:`emailid`` and the
242
+ # recovered group retains the role in the binding.
243
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
244
+ # users of that domain. For example, `google.com` or `example.com`.
245
+ # Corresponds to the JSON property `members`
246
+ # @return [Array<String>]
247
+ attr_accessor :members
248
+
249
+ # Role that is assigned to `members`.
250
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
251
+ # Corresponds to the JSON property `role`
252
+ # @return [String]
253
+ attr_accessor :role
254
+
255
+ def initialize(**args)
256
+ update!(**args)
257
+ end
258
+
259
+ # Update properties of this object
260
+ def update!(**args)
261
+ @condition = args[:condition] if args.key?(:condition)
262
+ @members = args[:members] if args.key?(:members)
263
+ @role = args[:role] if args.key?(:role)
264
+ end
265
+ end
266
+
267
+ # Request message for SecretManagerService.DestroySecretVersion.
268
+ class DestroySecretVersionRequest
269
+ include Google::Apis::Core::Hashable
270
+
271
+ def initialize(**args)
272
+ update!(**args)
273
+ end
274
+
275
+ # Update properties of this object
276
+ def update!(**args)
277
+ end
278
+ end
279
+
280
+ # Request message for SecretManagerService.DisableSecretVersion.
281
+ class DisableSecretVersionRequest
282
+ include Google::Apis::Core::Hashable
283
+
284
+ def initialize(**args)
285
+ update!(**args)
286
+ end
287
+
288
+ # Update properties of this object
289
+ def update!(**args)
290
+ end
291
+ end
292
+
293
+ # A generic empty message that you can re-use to avoid defining duplicated
294
+ # empty messages in your APIs. A typical example is to use it as the request
295
+ # or the response type of an API method. For instance:
296
+ # service Foo `
297
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
298
+ # `
299
+ # The JSON representation for `Empty` is empty JSON object ````.
300
+ class Empty
301
+ include Google::Apis::Core::Hashable
302
+
303
+ def initialize(**args)
304
+ update!(**args)
305
+ end
306
+
307
+ # Update properties of this object
308
+ def update!(**args)
309
+ end
310
+ end
311
+
312
+ # Request message for SecretManagerService.EnableSecretVersion.
313
+ class EnableSecretVersionRequest
314
+ include Google::Apis::Core::Hashable
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ end
323
+ end
324
+
325
+ # Represents an expression text. Example:
326
+ # title: "User account presence"
327
+ # description: "Determines whether the request has a user account"
328
+ # expression: "size(request.user) > 0"
329
+ class Expr
330
+ include Google::Apis::Core::Hashable
331
+
332
+ # An optional description of the expression. This is a longer text which
333
+ # describes the expression, e.g. when hovered over it in a UI.
334
+ # Corresponds to the JSON property `description`
335
+ # @return [String]
336
+ attr_accessor :description
337
+
338
+ # Textual representation of an expression in
339
+ # Common Expression Language syntax.
340
+ # The application context of the containing message determines which
341
+ # well-known feature set of CEL is supported.
342
+ # Corresponds to the JSON property `expression`
343
+ # @return [String]
344
+ attr_accessor :expression
345
+
346
+ # An optional string indicating the location of the expression for error
347
+ # reporting, e.g. a file name and a position in the file.
348
+ # Corresponds to the JSON property `location`
349
+ # @return [String]
350
+ attr_accessor :location
351
+
352
+ # An optional title for the expression, i.e. a short string describing
353
+ # its purpose. This can be used e.g. in UIs which allow to enter the
354
+ # expression.
355
+ # Corresponds to the JSON property `title`
356
+ # @return [String]
357
+ attr_accessor :title
358
+
359
+ def initialize(**args)
360
+ update!(**args)
361
+ end
362
+
363
+ # Update properties of this object
364
+ def update!(**args)
365
+ @description = args[:description] if args.key?(:description)
366
+ @expression = args[:expression] if args.key?(:expression)
367
+ @location = args[:location] if args.key?(:location)
368
+ @title = args[:title] if args.key?(:title)
369
+ end
370
+ end
371
+
372
+ # The response message for Locations.ListLocations.
373
+ class ListLocationsResponse
374
+ include Google::Apis::Core::Hashable
375
+
376
+ # A list of locations that matches the specified filter in the request.
377
+ # Corresponds to the JSON property `locations`
378
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::Location>]
379
+ attr_accessor :locations
380
+
381
+ # The standard List next-page token.
382
+ # Corresponds to the JSON property `nextPageToken`
383
+ # @return [String]
384
+ attr_accessor :next_page_token
385
+
386
+ def initialize(**args)
387
+ update!(**args)
388
+ end
389
+
390
+ # Update properties of this object
391
+ def update!(**args)
392
+ @locations = args[:locations] if args.key?(:locations)
393
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
394
+ end
395
+ end
396
+
397
+ # Response message for SecretManagerService.ListSecretVersions.
398
+ class ListSecretVersionsResponse
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # A token to retrieve the next page of results. Pass this value in
402
+ # ListSecretVersionsRequest.page_token to retrieve the next page.
403
+ # Corresponds to the JSON property `nextPageToken`
404
+ # @return [String]
405
+ attr_accessor :next_page_token
406
+
407
+ # The total number of SecretVersions.
408
+ # Corresponds to the JSON property `totalSize`
409
+ # @return [Fixnum]
410
+ attr_accessor :total_size
411
+
412
+ # The list of SecretVersions sorted in reverse by
413
+ # create_time (newest first).
414
+ # Corresponds to the JSON property `versions`
415
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::SecretVersion>]
416
+ attr_accessor :versions
417
+
418
+ def initialize(**args)
419
+ update!(**args)
420
+ end
421
+
422
+ # Update properties of this object
423
+ def update!(**args)
424
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
425
+ @total_size = args[:total_size] if args.key?(:total_size)
426
+ @versions = args[:versions] if args.key?(:versions)
427
+ end
428
+ end
429
+
430
+ # Response message for SecretManagerService.ListSecrets.
431
+ class ListSecretsResponse
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # A token to retrieve the next page of results. Pass this value in
435
+ # ListSecretsRequest.page_token to retrieve the next page.
436
+ # Corresponds to the JSON property `nextPageToken`
437
+ # @return [String]
438
+ attr_accessor :next_page_token
439
+
440
+ # The list of Secrets sorted in reverse by create_time (newest
441
+ # first).
442
+ # Corresponds to the JSON property `secrets`
443
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::Secret>]
444
+ attr_accessor :secrets
445
+
446
+ # The total number of Secrets.
447
+ # Corresponds to the JSON property `totalSize`
448
+ # @return [Fixnum]
449
+ attr_accessor :total_size
450
+
451
+ def initialize(**args)
452
+ update!(**args)
453
+ end
454
+
455
+ # Update properties of this object
456
+ def update!(**args)
457
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
458
+ @secrets = args[:secrets] if args.key?(:secrets)
459
+ @total_size = args[:total_size] if args.key?(:total_size)
460
+ end
461
+ end
462
+
463
+ # A resource that represents Google Cloud Platform location.
464
+ class Location
465
+ include Google::Apis::Core::Hashable
466
+
467
+ # The friendly name for this location, typically a nearby city name.
468
+ # For example, "Tokyo".
469
+ # Corresponds to the JSON property `displayName`
470
+ # @return [String]
471
+ attr_accessor :display_name
472
+
473
+ # Cross-service attributes for the location. For example
474
+ # `"cloud.googleapis.com/region": "us-east1"`
475
+ # Corresponds to the JSON property `labels`
476
+ # @return [Hash<String,String>]
477
+ attr_accessor :labels
478
+
479
+ # The canonical id for this location. For example: `"us-east1"`.
480
+ # Corresponds to the JSON property `locationId`
481
+ # @return [String]
482
+ attr_accessor :location_id
483
+
484
+ # Service-specific metadata. For example the available capacity at the given
485
+ # location.
486
+ # Corresponds to the JSON property `metadata`
487
+ # @return [Hash<String,Object>]
488
+ attr_accessor :metadata
489
+
490
+ # Resource name for the location, which may vary between implementations.
491
+ # For example: `"projects/example-project/locations/us-east1"`
492
+ # Corresponds to the JSON property `name`
493
+ # @return [String]
494
+ attr_accessor :name
495
+
496
+ def initialize(**args)
497
+ update!(**args)
498
+ end
499
+
500
+ # Update properties of this object
501
+ def update!(**args)
502
+ @display_name = args[:display_name] if args.key?(:display_name)
503
+ @labels = args[:labels] if args.key?(:labels)
504
+ @location_id = args[:location_id] if args.key?(:location_id)
505
+ @metadata = args[:metadata] if args.key?(:metadata)
506
+ @name = args[:name] if args.key?(:name)
507
+ end
508
+ end
509
+
510
+ # An Identity and Access Management (IAM) policy, which specifies access
511
+ # controls for Google Cloud resources.
512
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
513
+ # `members` to a single `role`. Members can be user accounts, service accounts,
514
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
515
+ # permissions; each `role` can be an IAM predefined role or a user-created
516
+ # custom role.
517
+ # Optionally, a `binding` can specify a `condition`, which is a logical
518
+ # expression that allows access to a resource only if the expression evaluates
519
+ # to `true`. A condition can add constraints based on attributes of the
520
+ # request, the resource, or both.
521
+ # **JSON example:**
522
+ # `
523
+ # "bindings": [
524
+ # `
525
+ # "role": "roles/resourcemanager.organizationAdmin",
526
+ # "members": [
527
+ # "user:mike@example.com",
528
+ # "group:admins@example.com",
529
+ # "domain:google.com",
530
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
531
+ # ]
532
+ # `,
533
+ # `
534
+ # "role": "roles/resourcemanager.organizationViewer",
535
+ # "members": ["user:eve@example.com"],
536
+ # "condition": `
537
+ # "title": "expirable access",
538
+ # "description": "Does not grant access after Sep 2020",
539
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
540
+ # ",
541
+ # `
542
+ # `
543
+ # ],
544
+ # "etag": "BwWWja0YfJA=",
545
+ # "version": 3
546
+ # `
547
+ # **YAML example:**
548
+ # bindings:
549
+ # - members:
550
+ # - user:mike@example.com
551
+ # - group:admins@example.com
552
+ # - domain:google.com
553
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
554
+ # role: roles/resourcemanager.organizationAdmin
555
+ # - members:
556
+ # - user:eve@example.com
557
+ # role: roles/resourcemanager.organizationViewer
558
+ # condition:
559
+ # title: expirable access
560
+ # description: Does not grant access after Sep 2020
561
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
562
+ # - etag: BwWWja0YfJA=
563
+ # - version: 3
564
+ # For a description of IAM and its features, see the
565
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
566
+ class Policy
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # Specifies cloud audit logging configuration for this policy.
570
+ # Corresponds to the JSON property `auditConfigs`
571
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::AuditConfig>]
572
+ attr_accessor :audit_configs
573
+
574
+ # Associates a list of `members` to a `role`. Optionally, may specify a
575
+ # `condition` that determines how and when the `bindings` are applied. Each
576
+ # of the `bindings` must contain at least one member.
577
+ # Corresponds to the JSON property `bindings`
578
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::Binding>]
579
+ attr_accessor :bindings
580
+
581
+ # `etag` is used for optimistic concurrency control as a way to help
582
+ # prevent simultaneous updates of a policy from overwriting each other.
583
+ # It is strongly suggested that systems make use of the `etag` in the
584
+ # read-modify-write cycle to perform policy updates in order to avoid race
585
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
586
+ # systems are expected to put that etag in the request to `setIamPolicy` to
587
+ # ensure that their change will be applied to the same version of the policy.
588
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
589
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
590
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
591
+ # the conditions in the version `3` policy are lost.
592
+ # Corresponds to the JSON property `etag`
593
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
594
+ # @return [String]
595
+ attr_accessor :etag
596
+
597
+ # Specifies the format of the policy.
598
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
599
+ # are rejected.
600
+ # Any operation that affects conditional role bindings must specify version
601
+ # `3`. This requirement applies to the following operations:
602
+ # * Getting a policy that includes a conditional role binding
603
+ # * Adding a conditional role binding to a policy
604
+ # * Changing a conditional role binding in a policy
605
+ # * Removing any role binding, with or without a condition, from a policy
606
+ # that includes conditions
607
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
608
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
609
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
610
+ # the conditions in the version `3` policy are lost.
611
+ # If a policy does not include any conditions, operations on that policy may
612
+ # specify any valid version or leave the field unset.
613
+ # Corresponds to the JSON property `version`
614
+ # @return [Fixnum]
615
+ attr_accessor :version
616
+
617
+ def initialize(**args)
618
+ update!(**args)
619
+ end
620
+
621
+ # Update properties of this object
622
+ def update!(**args)
623
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
624
+ @bindings = args[:bindings] if args.key?(:bindings)
625
+ @etag = args[:etag] if args.key?(:etag)
626
+ @version = args[:version] if args.key?(:version)
627
+ end
628
+ end
629
+
630
+ # Represents a Replica for this Secret.
631
+ class Replica
632
+ include Google::Apis::Core::Hashable
633
+
634
+ # The canonical IDs of the location to replicate data.
635
+ # For example: `"us-east1"`.
636
+ # Corresponds to the JSON property `location`
637
+ # @return [String]
638
+ attr_accessor :location
639
+
640
+ def initialize(**args)
641
+ update!(**args)
642
+ end
643
+
644
+ # Update properties of this object
645
+ def update!(**args)
646
+ @location = args[:location] if args.key?(:location)
647
+ end
648
+ end
649
+
650
+ # A policy that defines the replication configuration of data.
651
+ class Replication
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # A replication policy that replicates the Secret payload without any
655
+ # restrictions.
656
+ # Corresponds to the JSON property `automatic`
657
+ # @return [Google::Apis::SecretmanagerV1beta1::Automatic]
658
+ attr_accessor :automatic
659
+
660
+ # A replication policy that replicates the Secret payload into the
661
+ # locations specified in Secret.replication.user_managed.replicas
662
+ # Corresponds to the JSON property `userManaged`
663
+ # @return [Google::Apis::SecretmanagerV1beta1::UserManaged]
664
+ attr_accessor :user_managed
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @automatic = args[:automatic] if args.key?(:automatic)
673
+ @user_managed = args[:user_managed] if args.key?(:user_managed)
674
+ end
675
+ end
676
+
677
+ # A Secret is a logical secret whose value and versions can
678
+ # be accessed.
679
+ # A Secret is made up of zero or more SecretVersions that
680
+ # represent the secret data.
681
+ class Secret
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # Output only. The time at which the Secret was created.
685
+ # Corresponds to the JSON property `createTime`
686
+ # @return [String]
687
+ attr_accessor :create_time
688
+
689
+ # The labels assigned to this Secret.
690
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
691
+ # of maximum 128 bytes, and must conform to the following PCRE regular
692
+ # expression: `\p`Ll`\p`Lo``0,62``
693
+ # Label values must be between 0 and 63 characters long, have a UTF-8
694
+ # encoding of maximum 128 bytes, and must conform to the following PCRE
695
+ # regular expression: `[\p`Ll`\p`Lo`\p`N`_-]`0,63``
696
+ # No more than 64 labels can be assigned to a given resource.
697
+ # Corresponds to the JSON property `labels`
698
+ # @return [Hash<String,String>]
699
+ attr_accessor :labels
700
+
701
+ # Output only. The resource name of the Secret in the format `projects/*/secrets/
702
+ # *`.
703
+ # Corresponds to the JSON property `name`
704
+ # @return [String]
705
+ attr_accessor :name
706
+
707
+ # A policy that defines the replication configuration of data.
708
+ # Corresponds to the JSON property `replication`
709
+ # @return [Google::Apis::SecretmanagerV1beta1::Replication]
710
+ attr_accessor :replication
711
+
712
+ def initialize(**args)
713
+ update!(**args)
714
+ end
715
+
716
+ # Update properties of this object
717
+ def update!(**args)
718
+ @create_time = args[:create_time] if args.key?(:create_time)
719
+ @labels = args[:labels] if args.key?(:labels)
720
+ @name = args[:name] if args.key?(:name)
721
+ @replication = args[:replication] if args.key?(:replication)
722
+ end
723
+ end
724
+
725
+ # A secret payload resource in the Secret Manager API. This contains the
726
+ # sensitive secret data that is associated with a SecretVersion.
727
+ class SecretPayload
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # The secret data. Must be no larger than 64KiB.
731
+ # Corresponds to the JSON property `data`
732
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
733
+ # @return [String]
734
+ attr_accessor :data
735
+
736
+ def initialize(**args)
737
+ update!(**args)
738
+ end
739
+
740
+ # Update properties of this object
741
+ def update!(**args)
742
+ @data = args[:data] if args.key?(:data)
743
+ end
744
+ end
745
+
746
+ # A secret version resource in the Secret Manager API.
747
+ class SecretVersion
748
+ include Google::Apis::Core::Hashable
749
+
750
+ # Output only. The time at which the SecretVersion was created.
751
+ # Corresponds to the JSON property `createTime`
752
+ # @return [String]
753
+ attr_accessor :create_time
754
+
755
+ # Output only. The time this SecretVersion was destroyed.
756
+ # Only present if state is
757
+ # DESTROYED.
758
+ # Corresponds to the JSON property `destroyTime`
759
+ # @return [String]
760
+ attr_accessor :destroy_time
761
+
762
+ # Output only. The resource name of the SecretVersion in the
763
+ # format `projects/*/secrets/*/versions/*`.
764
+ # SecretVersion IDs in a Secret start at 1 and
765
+ # are incremented for each subsequent version of the secret.
766
+ # Corresponds to the JSON property `name`
767
+ # @return [String]
768
+ attr_accessor :name
769
+
770
+ # Output only. The current state of the SecretVersion.
771
+ # Corresponds to the JSON property `state`
772
+ # @return [String]
773
+ attr_accessor :state
774
+
775
+ def initialize(**args)
776
+ update!(**args)
777
+ end
778
+
779
+ # Update properties of this object
780
+ def update!(**args)
781
+ @create_time = args[:create_time] if args.key?(:create_time)
782
+ @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
783
+ @name = args[:name] if args.key?(:name)
784
+ @state = args[:state] if args.key?(:state)
785
+ end
786
+ end
787
+
788
+ # Request message for `SetIamPolicy` method.
789
+ class SetIamPolicyRequest
790
+ include Google::Apis::Core::Hashable
791
+
792
+ # An Identity and Access Management (IAM) policy, which specifies access
793
+ # controls for Google Cloud resources.
794
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
795
+ # `members` to a single `role`. Members can be user accounts, service accounts,
796
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
797
+ # permissions; each `role` can be an IAM predefined role or a user-created
798
+ # custom role.
799
+ # Optionally, a `binding` can specify a `condition`, which is a logical
800
+ # expression that allows access to a resource only if the expression evaluates
801
+ # to `true`. A condition can add constraints based on attributes of the
802
+ # request, the resource, or both.
803
+ # **JSON example:**
804
+ # `
805
+ # "bindings": [
806
+ # `
807
+ # "role": "roles/resourcemanager.organizationAdmin",
808
+ # "members": [
809
+ # "user:mike@example.com",
810
+ # "group:admins@example.com",
811
+ # "domain:google.com",
812
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
813
+ # ]
814
+ # `,
815
+ # `
816
+ # "role": "roles/resourcemanager.organizationViewer",
817
+ # "members": ["user:eve@example.com"],
818
+ # "condition": `
819
+ # "title": "expirable access",
820
+ # "description": "Does not grant access after Sep 2020",
821
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
822
+ # ",
823
+ # `
824
+ # `
825
+ # ],
826
+ # "etag": "BwWWja0YfJA=",
827
+ # "version": 3
828
+ # `
829
+ # **YAML example:**
830
+ # bindings:
831
+ # - members:
832
+ # - user:mike@example.com
833
+ # - group:admins@example.com
834
+ # - domain:google.com
835
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
836
+ # role: roles/resourcemanager.organizationAdmin
837
+ # - members:
838
+ # - user:eve@example.com
839
+ # role: roles/resourcemanager.organizationViewer
840
+ # condition:
841
+ # title: expirable access
842
+ # description: Does not grant access after Sep 2020
843
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
844
+ # - etag: BwWWja0YfJA=
845
+ # - version: 3
846
+ # For a description of IAM and its features, see the
847
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
848
+ # Corresponds to the JSON property `policy`
849
+ # @return [Google::Apis::SecretmanagerV1beta1::Policy]
850
+ attr_accessor :policy
851
+
852
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
853
+ # the fields in the mask will be modified. If no mask is provided, the
854
+ # following default mask is used:
855
+ # paths: "bindings, etag"
856
+ # This field is only used by Cloud IAM.
857
+ # Corresponds to the JSON property `updateMask`
858
+ # @return [String]
859
+ attr_accessor :update_mask
860
+
861
+ def initialize(**args)
862
+ update!(**args)
863
+ end
864
+
865
+ # Update properties of this object
866
+ def update!(**args)
867
+ @policy = args[:policy] if args.key?(:policy)
868
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
869
+ end
870
+ end
871
+
872
+ # Request message for `TestIamPermissions` method.
873
+ class TestIamPermissionsRequest
874
+ include Google::Apis::Core::Hashable
875
+
876
+ # The set of permissions to check for the `resource`. Permissions with
877
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
878
+ # information see
879
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
880
+ # Corresponds to the JSON property `permissions`
881
+ # @return [Array<String>]
882
+ attr_accessor :permissions
883
+
884
+ def initialize(**args)
885
+ update!(**args)
886
+ end
887
+
888
+ # Update properties of this object
889
+ def update!(**args)
890
+ @permissions = args[:permissions] if args.key?(:permissions)
891
+ end
892
+ end
893
+
894
+ # Response message for `TestIamPermissions` method.
895
+ class TestIamPermissionsResponse
896
+ include Google::Apis::Core::Hashable
897
+
898
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
899
+ # allowed.
900
+ # Corresponds to the JSON property `permissions`
901
+ # @return [Array<String>]
902
+ attr_accessor :permissions
903
+
904
+ def initialize(**args)
905
+ update!(**args)
906
+ end
907
+
908
+ # Update properties of this object
909
+ def update!(**args)
910
+ @permissions = args[:permissions] if args.key?(:permissions)
911
+ end
912
+ end
913
+
914
+ # A replication policy that replicates the Secret payload into the
915
+ # locations specified in Secret.replication.user_managed.replicas
916
+ class UserManaged
917
+ include Google::Apis::Core::Hashable
918
+
919
+ # Required. The list of Replicas for this Secret.
920
+ # Cannot be empty.
921
+ # Corresponds to the JSON property `replicas`
922
+ # @return [Array<Google::Apis::SecretmanagerV1beta1::Replica>]
923
+ attr_accessor :replicas
924
+
925
+ def initialize(**args)
926
+ update!(**args)
927
+ end
928
+
929
+ # Update properties of this object
930
+ def update!(**args)
931
+ @replicas = args[:replicas] if args.key?(:replicas)
932
+ end
933
+ end
934
+ end
935
+ end
936
+ end