google-api-client 0.36.0 → 0.36.1

Sign up to get free protection for your applications and to get access to all the features.
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