google-api-client 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/api_names.yaml +37747 -36512
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1016 -114
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +426 -22
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +481 -95
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +27 -10
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/adsense_v1_4.rb +1 -1
  14. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  15. data/generated/google/apis/analytics_v3.rb +1 -1
  16. data/generated/google/apis/analyticsreporting_v4.rb +4 -4
  17. data/generated/google/apis/analyticsreporting_v4/classes.rb +428 -428
  18. data/generated/google/apis/analyticsreporting_v4/representations.rb +108 -108
  19. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  20. data/generated/google/apis/androidenterprise_v1/classes.rb +60 -66
  21. data/generated/google/apis/androidenterprise_v1/service.rb +12 -11
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +7 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +1 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  26. data/generated/google/apis/appsactivity_v1.rb +3 -3
  27. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  28. data/generated/google/apis/appstate_v1.rb +1 -1
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigquery_v2/classes.rb +34 -8
  31. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  32. data/generated/google/apis/calendar_v3.rb +1 -1
  33. data/generated/google/apis/calendar_v3/classes.rb +3 -5
  34. data/generated/google/apis/classroom_v1.rb +25 -22
  35. data/generated/google/apis/classroom_v1/classes.rb +910 -1001
  36. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  37. data/generated/google/apis/classroom_v1/service.rb +1064 -1272
  38. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  39. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  40. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  41. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  42. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1/classes.rb +238 -238
  44. data/generated/google/apis/cloudbuild_v1/representations.rb +48 -48
  45. data/generated/google/apis/cloudbuild_v1/service.rb +176 -176
  46. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  47. data/generated/google/apis/clouddebugger_v2/classes.rb +315 -315
  48. data/generated/google/apis/clouddebugger_v2/representations.rb +90 -90
  49. data/generated/google/apis/clouddebugger_v2/service.rb +152 -152
  50. data/generated/google/apis/cloudkms_v1.rb +35 -0
  51. data/generated/google/apis/cloudkms_v1/classes.rb +1039 -0
  52. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  53. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  54. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudkms_v1beta1/classes.rb +645 -605
  56. data/generated/google/apis/cloudkms_v1beta1/representations.rb +136 -136
  57. data/generated/google/apis/cloudkms_v1beta1/service.rb +258 -264
  58. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  59. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +677 -456
  61. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +154 -89
  62. data/generated/google/apis/cloudresourcemanager_v1/service.rb +380 -279
  63. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  64. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +247 -114
  65. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +72 -40
  66. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +202 -208
  67. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  68. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -39
  69. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  70. data/generated/google/apis/cloudtrace_v1/service.rb +18 -18
  71. data/generated/google/apis/compute_beta.rb +1 -1
  72. data/generated/google/apis/compute_beta/classes.rb +813 -82
  73. data/generated/google/apis/compute_beta/representations.rb +305 -0
  74. data/generated/google/apis/compute_beta/service.rb +971 -180
  75. data/generated/google/apis/compute_v1.rb +1 -1
  76. data/generated/google/apis/compute_v1/classes.rb +147 -21
  77. data/generated/google/apis/compute_v1/representations.rb +38 -0
  78. data/generated/google/apis/compute_v1/service.rb +347 -65
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/classes.rb +2 -1
  81. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  82. data/generated/google/apis/dataflow_v1b3/classes.rb +3352 -3110
  83. data/generated/google/apis/dataflow_v1b3/representations.rb +812 -730
  84. data/generated/google/apis/dataflow_v1b3/service.rb +264 -183
  85. data/generated/google/apis/dataproc_v1.rb +1 -1
  86. data/generated/google/apis/dataproc_v1/classes.rb +1200 -1164
  87. data/generated/google/apis/dataproc_v1/representations.rb +220 -204
  88. data/generated/google/apis/dataproc_v1/service.rb +299 -299
  89. data/generated/google/apis/datastore_v1.rb +4 -4
  90. data/generated/google/apis/datastore_v1/classes.rb +688 -688
  91. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  92. data/generated/google/apis/datastore_v1/service.rb +68 -68
  93. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  94. data/generated/google/apis/deploymentmanager_v2/classes.rb +13 -3
  95. data/generated/google/apis/dns_v1.rb +1 -1
  96. data/generated/google/apis/dns_v2beta1.rb +1 -1
  97. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  98. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  99. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  100. data/generated/google/apis/drive_v2.rb +1 -1
  101. data/generated/google/apis/drive_v2/classes.rb +487 -15
  102. data/generated/google/apis/drive_v2/representations.rb +120 -0
  103. data/generated/google/apis/drive_v2/service.rb +355 -38
  104. data/generated/google/apis/drive_v3.rb +1 -1
  105. data/generated/google/apis/drive_v3/classes.rb +416 -14
  106. data/generated/google/apis/drive_v3/representations.rb +99 -0
  107. data/generated/google/apis/drive_v3/service.rb +315 -28
  108. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  109. data/generated/google/apis/games_management_v1management.rb +1 -1
  110. data/generated/google/apis/games_v1.rb +1 -1
  111. data/generated/google/apis/genomics_v1.rb +7 -7
  112. data/generated/google/apis/genomics_v1/classes.rb +2301 -2301
  113. data/generated/google/apis/genomics_v1/representations.rb +239 -239
  114. data/generated/google/apis/genomics_v1/service.rb +599 -599
  115. data/generated/google/apis/gmail_v1.rb +2 -2
  116. data/generated/google/apis/gmail_v1/service.rb +18 -1
  117. data/generated/google/apis/groupssettings_v1.rb +1 -1
  118. data/generated/google/apis/iam_v1.rb +1 -1
  119. data/generated/google/apis/iam_v1/classes.rb +440 -440
  120. data/generated/google/apis/iam_v1/representations.rb +96 -96
  121. data/generated/google/apis/iam_v1/service.rb +150 -150
  122. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  123. data/generated/google/apis/language_v1beta1.rb +1 -1
  124. data/generated/google/apis/language_v1beta1/classes.rb +235 -235
  125. data/generated/google/apis/language_v1beta1/representations.rb +73 -73
  126. data/generated/google/apis/language_v1beta1/service.rb +49 -49
  127. data/generated/google/apis/licensing_v1.rb +1 -1
  128. data/generated/google/apis/logging_v2beta1.rb +1 -1
  129. data/generated/google/apis/logging_v2beta1/classes.rb +888 -879
  130. data/generated/google/apis/logging_v2beta1/representations.rb +129 -129
  131. data/generated/google/apis/logging_v2beta1/service.rb +315 -316
  132. data/generated/google/apis/manufacturers_v1/classes.rb +139 -139
  133. data/generated/google/apis/manufacturers_v1/representations.rb +30 -30
  134. data/generated/google/apis/manufacturers_v1/service.rb +32 -32
  135. data/generated/google/apis/monitoring_v3.rb +4 -4
  136. data/generated/google/apis/monitoring_v3/classes.rb +229 -229
  137. data/generated/google/apis/monitoring_v3/representations.rb +45 -45
  138. data/generated/google/apis/monitoring_v3/service.rb +141 -141
  139. data/generated/google/apis/partners_v2.rb +3 -3
  140. data/generated/google/apis/partners_v2/classes.rb +1837 -483
  141. data/generated/google/apis/partners_v2/representations.rb +614 -157
  142. data/generated/google/apis/partners_v2/service.rb +881 -150
  143. data/generated/google/apis/people_v1.rb +1 -1
  144. data/generated/google/apis/people_v1/classes.rb +517 -465
  145. data/generated/google/apis/people_v1/representations.rb +138 -107
  146. data/generated/google/apis/people_v1/service.rb +56 -49
  147. data/generated/google/apis/plus_domains_v1.rb +1 -1
  148. data/generated/google/apis/plus_v1.rb +1 -1
  149. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  150. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +529 -458
  151. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +98 -97
  152. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +494 -370
  153. data/generated/google/apis/pubsub_v1.rb +4 -4
  154. data/generated/google/apis/pubsub_v1/classes.rb +203 -203
  155. data/generated/google/apis/pubsub_v1/representations.rb +65 -65
  156. data/generated/google/apis/pubsub_v1/service.rb +226 -217
  157. data/generated/google/apis/reseller_v1.rb +1 -1
  158. data/generated/google/apis/reseller_v1/classes.rb +213 -61
  159. data/generated/google/apis/reseller_v1/representations.rb +27 -0
  160. data/generated/google/apis/reseller_v1/service.rb +240 -47
  161. data/generated/google/apis/script_v1.rb +14 -14
  162. data/generated/google/apis/script_v1/classes.rb +95 -95
  163. data/generated/google/apis/script_v1/representations.rb +25 -25
  164. data/generated/google/apis/sheets_v4.rb +1 -1
  165. data/generated/google/apis/sheets_v4/classes.rb +4346 -4300
  166. data/generated/google/apis/sheets_v4/representations.rb +853 -837
  167. data/generated/google/apis/sheets_v4/service.rb +32 -32
  168. data/generated/google/apis/slides_v1.rb +1 -1
  169. data/generated/google/apis/slides_v1/classes.rb +804 -748
  170. data/generated/google/apis/slides_v1/representations.rb +204 -187
  171. data/generated/google/apis/slides_v1/service.rb +16 -16
  172. data/generated/google/apis/speech_v1beta1.rb +1 -1
  173. data/generated/google/apis/speech_v1beta1/classes.rb +57 -57
  174. data/generated/google/apis/speech_v1beta1/representations.rb +19 -19
  175. data/generated/google/apis/speech_v1beta1/service.rb +66 -66
  176. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  177. data/generated/google/apis/sqladmin_v1beta4/classes.rb +32 -7
  178. data/generated/google/apis/sqladmin_v1beta4/representations.rb +16 -0
  179. data/generated/google/apis/sqladmin_v1beta4/service.rb +9 -2
  180. data/generated/google/apis/storage_v1.rb +1 -1
  181. data/generated/google/apis/storage_v1/service.rb +10 -7
  182. data/generated/google/apis/vision_v1.rb +1 -1
  183. data/generated/google/apis/vision_v1/classes.rb +1393 -865
  184. data/generated/google/apis/vision_v1/representations.rb +367 -102
  185. data/generated/google/apis/vision_v1/service.rb +4 -4
  186. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  187. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  188. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  189. data/generated/google/apis/youtubereporting_v1/classes.rb +93 -93
  190. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  191. data/generated/google/apis/youtubereporting_v1/service.rb +108 -108
  192. data/lib/google/apis/version.rb +1 -1
  193. metadata +34 -30
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/kms/
27
27
  module CloudkmsV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20170208'
29
+ REVISION = '20170301'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,153 +22,47 @@ module Google
22
22
  module Apis
23
23
  module CloudkmsV1beta1
24
24
 
25
- # Response message for KeyManagementService.Decrypt.
26
- class DecryptResponse
25
+ # Write a Cloud Audit log
26
+ class CloudAuditOptions
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # The decrypted data originally supplied in EncryptRequest.plaintext.
30
- # Corresponds to the JSON property `plaintext`
31
- # @return [String]
32
- attr_accessor :plaintext
33
-
34
29
  def initialize(**args)
35
30
  update!(**args)
36
31
  end
37
32
 
38
33
  # Update properties of this object
39
34
  def update!(**args)
40
- @plaintext = args[:plaintext] if args.key?(:plaintext)
41
35
  end
42
36
  end
43
37
 
44
- # Request message for `TestIamPermissions` method.
45
- class TestIamPermissionsRequest
38
+ # Associates `members` with a `role`.
39
+ class Binding
46
40
  include Google::Apis::Core::Hashable
47
41
 
48
- # The set of permissions to check for the `resource`. Permissions with
49
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
50
- # information see
51
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
52
- # Corresponds to the JSON property `permissions`
42
+ # Specifies the identities requesting access for a Cloud Platform resource.
43
+ # `members` can have the following values:
44
+ # * `allUsers`: A special identifier that represents anyone who is
45
+ # on the internet; with or without a Google account.
46
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
47
+ # who is authenticated with a Google account or a service account.
48
+ # * `user:`emailid``: An email address that represents a specific Google
49
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
50
+ # * `serviceAccount:`emailid``: An email address that represents a service
51
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
52
+ # * `group:`emailid``: An email address that represents a Google group.
53
+ # For example, `admins@example.com`.
54
+ # * `domain:`domain``: A Google Apps domain name that represents all the
55
+ # users of that domain. For example, `google.com` or `example.com`.
56
+ # Corresponds to the JSON property `members`
53
57
  # @return [Array<String>]
54
- attr_accessor :permissions
55
-
56
- def initialize(**args)
57
- update!(**args)
58
- end
59
-
60
- # Update properties of this object
61
- def update!(**args)
62
- @permissions = args[:permissions] if args.key?(:permissions)
63
- end
64
- end
65
-
66
- # Defines an Identity and Access Management (IAM) policy. It is used to
67
- # specify access control policies for Cloud Platform resources.
68
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
69
- # `members` to a `role`, where the members can be user accounts, Google groups,
70
- # Google domains, and service accounts. A `role` is a named list of permissions
71
- # defined by IAM.
72
- # **Example**
73
- # `
74
- # "bindings": [
75
- # `
76
- # "role": "roles/owner",
77
- # "members": [
78
- # "user:mike@example.com",
79
- # "group:admins@example.com",
80
- # "domain:google.com",
81
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
82
- # ]
83
- # `,
84
- # `
85
- # "role": "roles/viewer",
86
- # "members": ["user:sean@example.com"]
87
- # `
88
- # ]
89
- # `
90
- # For a description of IAM and its features, see the
91
- # [IAM developer's guide](https://cloud.google.com/iam).
92
- class Policy
93
- include Google::Apis::Core::Hashable
94
-
95
- #
96
- # Corresponds to the JSON property `iamOwned`
97
- # @return [Boolean]
98
- attr_accessor :iam_owned
99
- alias_method :iam_owned?, :iam_owned
100
-
101
- # If more than one rule is specified, the rules are applied in the following
102
- # manner:
103
- # - All matching LOG rules are always applied.
104
- # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
105
- # Logging will be applied if one or more matching rule requires logging.
106
- # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
107
- # granted.
108
- # Logging will be applied if one or more matching rule requires logging.
109
- # - Otherwise, if no rule applies, permission is denied.
110
- # Corresponds to the JSON property `rules`
111
- # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
112
- attr_accessor :rules
113
-
114
- # Version of the `Policy`. The default version is 0.
115
- # Corresponds to the JSON property `version`
116
- # @return [Fixnum]
117
- attr_accessor :version
118
-
119
- # Specifies cloud audit logging configuration for this policy.
120
- # Corresponds to the JSON property `auditConfigs`
121
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
122
- attr_accessor :audit_configs
123
-
124
- # Associates a list of `members` to a `role`.
125
- # Multiple `bindings` must not be specified for the same `role`.
126
- # `bindings` with no members will result in an error.
127
- # Corresponds to the JSON property `bindings`
128
- # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
129
- attr_accessor :bindings
130
-
131
- # `etag` is used for optimistic concurrency control as a way to help
132
- # prevent simultaneous updates of a policy from overwriting each other.
133
- # It is strongly suggested that systems make use of the `etag` in the
134
- # read-modify-write cycle to perform policy updates in order to avoid race
135
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
136
- # systems are expected to put that etag in the request to `setIamPolicy` to
137
- # ensure that their change will be applied to the same version of the policy.
138
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
139
- # policy is overwritten blindly.
140
- # Corresponds to the JSON property `etag`
141
- # @return [String]
142
- attr_accessor :etag
143
-
144
- def initialize(**args)
145
- update!(**args)
146
- end
147
-
148
- # Update properties of this object
149
- def update!(**args)
150
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
151
- @rules = args[:rules] if args.key?(:rules)
152
- @version = args[:version] if args.key?(:version)
153
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
154
- @bindings = args[:bindings] if args.key?(:bindings)
155
- @etag = args[:etag] if args.key?(:etag)
156
- end
157
- end
158
-
159
- # Response message for KeyManagementService.Encrypt.
160
- class EncryptResponse
161
- include Google::Apis::Core::Hashable
162
-
163
- # The resource name of the CryptoKeyVersion used in encryption.
164
- # Corresponds to the JSON property `name`
165
- # @return [String]
166
- attr_accessor :name
58
+ attr_accessor :members
167
59
 
168
- # The encrypted data.
169
- # Corresponds to the JSON property `ciphertext`
60
+ # Role that is assigned to `members`.
61
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
62
+ # Required
63
+ # Corresponds to the JSON property `role`
170
64
  # @return [String]
171
- attr_accessor :ciphertext
65
+ attr_accessor :role
172
66
 
173
67
  def initialize(**args)
174
68
  update!(**args)
@@ -176,25 +70,26 @@ module Google
176
70
 
177
71
  # Update properties of this object
178
72
  def update!(**args)
179
- @name = args[:name] if args.key?(:name)
180
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
73
+ @members = args[:members] if args.key?(:members)
74
+ @role = args[:role] if args.key?(:role)
181
75
  end
182
76
  end
183
77
 
184
- # A KeyRing is a toplevel logical grouping of CryptoKeys.
185
- class KeyRing
78
+ # Request message for KeyManagementService.Encrypt.
79
+ class EncryptRequest
186
80
  include Google::Apis::Core::Hashable
187
81
 
188
- # Output only. The resource name for the KeyRing in the format
189
- # `projects/*/locations/*/keyRings/*`.
190
- # Corresponds to the JSON property `name`
82
+ # Optional data that, if specified, must also be provided during decryption
83
+ # through DecryptRequest.additional_authenticated_data. Must be no
84
+ # larger than 64KiB.
85
+ # Corresponds to the JSON property `additionalAuthenticatedData`
191
86
  # @return [String]
192
- attr_accessor :name
87
+ attr_accessor :additional_authenticated_data
193
88
 
194
- # Output only. The time at which this KeyRing was created.
195
- # Corresponds to the JSON property `createTime`
89
+ # Required. The data to encrypt. Must be no larger than 64KiB.
90
+ # Corresponds to the JSON property `plaintext`
196
91
  # @return [String]
197
- attr_accessor :create_time
92
+ attr_accessor :plaintext
198
93
 
199
94
  def initialize(**args)
200
95
  update!(**args)
@@ -202,39 +97,32 @@ module Google
202
97
 
203
98
  # Update properties of this object
204
99
  def update!(**args)
205
- @name = args[:name] if args.key?(:name)
206
- @create_time = args[:create_time] if args.key?(:create_time)
100
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
101
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
207
102
  end
208
103
  end
209
104
 
210
- # The response message for Locations.ListLocations.
211
- class ListLocationsResponse
105
+ # Response message for KeyManagementService.ListCryptoKeyVersions.
106
+ class ListCryptoKeyVersionsResponse
212
107
  include Google::Apis::Core::Hashable
213
108
 
214
- # A list of locations that matches the specified filter in the request.
215
- # Corresponds to the JSON property `locations`
216
- # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
217
- attr_accessor :locations
218
-
219
- # The standard List next-page token.
109
+ # A token to retrieve next page of results. Pass this value in
110
+ # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
111
+ # results.
220
112
  # Corresponds to the JSON property `nextPageToken`
221
113
  # @return [String]
222
114
  attr_accessor :next_page_token
223
115
 
224
- def initialize(**args)
225
- update!(**args)
226
- end
227
-
228
- # Update properties of this object
229
- def update!(**args)
230
- @locations = args[:locations] if args.key?(:locations)
231
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
232
- end
233
- end
116
+ # The total number of CryptoKeyVersions that matched the
117
+ # query.
118
+ # Corresponds to the JSON property `totalSize`
119
+ # @return [Fixnum]
120
+ attr_accessor :total_size
234
121
 
235
- # Request message for KeyManagementService.RestoreCryptoKeyVersion.
236
- class RestoreCryptoKeyVersionRequest
237
- include Google::Apis::Core::Hashable
122
+ # The list of CryptoKeyVersions.
123
+ # Corresponds to the JSON property `cryptoKeyVersions`
124
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
125
+ attr_accessor :crypto_key_versions
238
126
 
239
127
  def initialize(**args)
240
128
  update!(**args)
@@ -242,17 +130,21 @@ module Google
242
130
 
243
131
  # Update properties of this object
244
132
  def update!(**args)
133
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
134
+ @total_size = args[:total_size] if args.key?(:total_size)
135
+ @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
245
136
  end
246
137
  end
247
138
 
248
- # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
249
- class UpdateCryptoKeyPrimaryVersionRequest
139
+ # Response message for `TestIamPermissions` method.
140
+ class TestIamPermissionsResponse
250
141
  include Google::Apis::Core::Hashable
251
142
 
252
- # The id of the child CryptoKeyVersion to use as primary.
253
- # Corresponds to the JSON property `cryptoKeyVersionId`
254
- # @return [String]
255
- attr_accessor :crypto_key_version_id
143
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
144
+ # allowed.
145
+ # Corresponds to the JSON property `permissions`
146
+ # @return [Array<String>]
147
+ attr_accessor :permissions
256
148
 
257
149
  def initialize(**args)
258
150
  update!(**args)
@@ -260,12 +152,12 @@ module Google
260
152
 
261
153
  # Update properties of this object
262
154
  def update!(**args)
263
- @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
155
+ @permissions = args[:permissions] if args.key?(:permissions)
264
156
  end
265
157
  end
266
158
 
267
- # Write a Data Access (Gin) log
268
- class DataAccessOptions
159
+ # Request message for KeyManagementService.DestroyCryptoKeyVersion.
160
+ class DestroyCryptoKeyVersionRequest
269
161
  include Google::Apis::Core::Hashable
270
162
 
271
163
  def initialize(**args)
@@ -277,25 +169,56 @@ module Google
277
169
  end
278
170
  end
279
171
 
280
- # Response message for KeyManagementService.ListKeyRings.
281
- class ListKeyRingsResponse
172
+ # A CryptoKey represents a logical key that can be used for cryptographic
173
+ # operations.
174
+ # A CryptoKey is made up of one or more versions, which
175
+ # represent the actual key material used in cryptographic operations.
176
+ class CryptoKey
282
177
  include Google::Apis::Core::Hashable
283
178
 
284
- # A token to retrieve next page of results. Pass this value in
285
- # ListKeyRingsRequest.page_token to retrieve the next page of results.
286
- # Corresponds to the JSON property `nextPageToken`
179
+ # Output only. The time at which this CryptoKey was created.
180
+ # Corresponds to the JSON property `createTime`
287
181
  # @return [String]
288
- attr_accessor :next_page_token
182
+ attr_accessor :create_time
289
183
 
290
- # The total number of KeyRings that matched the query.
291
- # Corresponds to the JSON property `totalSize`
292
- # @return [Fixnum]
293
- attr_accessor :total_size
184
+ # next_rotation_time will be advanced by this period when the service
185
+ # automatically rotates a key. Must be at least one day.
186
+ # If rotation_period is set, next_rotation_time must also be set.
187
+ # Corresponds to the JSON property `rotationPeriod`
188
+ # @return [String]
189
+ attr_accessor :rotation_period
294
190
 
295
- # The list of KeyRings.
296
- # Corresponds to the JSON property `keyRings`
297
- # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
298
- attr_accessor :key_rings
191
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
192
+ # associated key material.
193
+ # It can be used for cryptographic operations either directly, or via its
194
+ # parent CryptoKey, in which case the server will choose the appropriate
195
+ # version for the operation.
196
+ # Corresponds to the JSON property `primary`
197
+ # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
198
+ attr_accessor :primary
199
+
200
+ # Output only. The resource name for this CryptoKey in the format
201
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
202
+ # Corresponds to the JSON property `name`
203
+ # @return [String]
204
+ attr_accessor :name
205
+
206
+ # The immutable purpose of this CryptoKey. Currently, the only acceptable
207
+ # purpose is ENCRYPT_DECRYPT.
208
+ # Corresponds to the JSON property `purpose`
209
+ # @return [String]
210
+ attr_accessor :purpose
211
+
212
+ # At next_rotation_time, the Key Management Service will automatically:
213
+ # 1. Create a new version of this CryptoKey.
214
+ # 2. Mark the new version as primary.
215
+ # Key rotations performed manually via
216
+ # CreateCryptoKeyVersion and
217
+ # UpdateCryptoKeyPrimaryVersion
218
+ # do not affect next_rotation_time.
219
+ # Corresponds to the JSON property `nextRotationTime`
220
+ # @return [String]
221
+ attr_accessor :next_rotation_time
299
222
 
300
223
  def initialize(**args)
301
224
  update!(**args)
@@ -303,39 +226,60 @@ module Google
303
226
 
304
227
  # Update properties of this object
305
228
  def update!(**args)
306
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
307
- @total_size = args[:total_size] if args.key?(:total_size)
308
- @key_rings = args[:key_rings] if args.key?(:key_rings)
229
+ @create_time = args[:create_time] if args.key?(:create_time)
230
+ @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
231
+ @primary = args[:primary] if args.key?(:primary)
232
+ @name = args[:name] if args.key?(:name)
233
+ @purpose = args[:purpose] if args.key?(:purpose)
234
+ @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
309
235
  end
310
236
  end
311
237
 
312
- # Specifies the audit configuration for a service.
313
- # It consists of which permission types are logged, and what identities, if
314
- # any, are exempted from logging.
315
- # An AuditConifg must have one or more AuditLogConfigs.
316
- class AuditConfig
238
+ # A rule to be applied in a Policy.
239
+ class Rule
317
240
  include Google::Apis::Core::Hashable
318
241
 
319
- # Specifies the identities that are exempted from "data access" audit
320
- # logging for the `service` specified above.
321
- # Follows the same format of Binding.members.
322
- # This field is deprecated in favor of per-permission-type exemptions.
323
- # Corresponds to the JSON property `exemptedMembers`
242
+ # A permission is a string of form '<service>.<resource type>.<verb>'
243
+ # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
244
+ # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
245
+ # Corresponds to the JSON property `permissions`
324
246
  # @return [Array<String>]
325
- attr_accessor :exempted_members
247
+ attr_accessor :permissions
326
248
 
327
- # Specifies a service that will be enabled for audit logging.
328
- # For example, `resourcemanager`, `storage`, `compute`.
329
- # `allServices` is a special value that covers all services.
330
- # Corresponds to the JSON property `service`
249
+ # Required
250
+ # Corresponds to the JSON property `action`
331
251
  # @return [String]
332
- attr_accessor :service
252
+ attr_accessor :action
333
253
 
334
- # The configuration for logging of each type of permission.
335
- # Next ID: 4
336
- # Corresponds to the JSON property `auditLogConfigs`
337
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
338
- attr_accessor :audit_log_configs
254
+ # If one or more 'not_in' clauses are specified, the rule matches
255
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
256
+ # The format for in and not_in entries is the same as for members in a
257
+ # Binding (see google/iam/v1/policy.proto).
258
+ # Corresponds to the JSON property `notIn`
259
+ # @return [Array<String>]
260
+ attr_accessor :not_in
261
+
262
+ # Human-readable description of the rule.
263
+ # Corresponds to the JSON property `description`
264
+ # @return [String]
265
+ attr_accessor :description
266
+
267
+ # Additional restrictions that must be met
268
+ # Corresponds to the JSON property `conditions`
269
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
270
+ attr_accessor :conditions
271
+
272
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
273
+ # that match the LOG action.
274
+ # Corresponds to the JSON property `logConfig`
275
+ # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
276
+ attr_accessor :log_config
277
+
278
+ # If one or more 'in' clauses are specified, the rule matches if
279
+ # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
280
+ # Corresponds to the JSON property `in`
281
+ # @return [Array<String>]
282
+ attr_accessor :in
339
283
 
340
284
  def initialize(**args)
341
285
  update!(**args)
@@ -343,49 +287,51 @@ module Google
343
287
 
344
288
  # Update properties of this object
345
289
  def update!(**args)
346
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
347
- @service = args[:service] if args.key?(:service)
348
- @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
290
+ @permissions = args[:permissions] if args.key?(:permissions)
291
+ @action = args[:action] if args.key?(:action)
292
+ @not_in = args[:not_in] if args.key?(:not_in)
293
+ @description = args[:description] if args.key?(:description)
294
+ @conditions = args[:conditions] if args.key?(:conditions)
295
+ @log_config = args[:log_config] if args.key?(:log_config)
296
+ @in = args[:in] if args.key?(:in)
349
297
  end
350
298
  end
351
299
 
352
- # A CryptoKeyVersion represents an individual cryptographic key, and the
353
- # associated key material.
354
- # It can be used for cryptographic operations either directly, or via its
355
- # parent CryptoKey, in which case the server will choose the appropriate
356
- # version for the operation.
357
- class CryptoKeyVersion
300
+ # Specifies what kind of log the caller must write
301
+ # Increment a streamz counter with the specified metric and field names.
302
+ # Metric names should start with a '/', generally be lowercase-only,
303
+ # and end in "_count". Field names should not contain an initial slash.
304
+ # The actual exported metric names will have "/iam/policy" prepended.
305
+ # Field names correspond to IAM request parameters and field values are
306
+ # their respective values.
307
+ # At present the only supported field names are
308
+ # - "iam_principal", corresponding to IAMContext.principal;
309
+ # - "" (empty string), resulting in one aggretated counter with no field.
310
+ # Examples:
311
+ # counter ` metric: "/debug_access_count" field: "iam_principal" `
312
+ # ==> increment counter /iam/policy/backend_debug_access_count
313
+ # `iam_principal=[value of IAMContext.principal]`
314
+ # At this time we do not support:
315
+ # * multiple field names (though this may be supported in the future)
316
+ # * decrementing the counter
317
+ # * incrementing it by anything other than 1
318
+ class LogConfig
358
319
  include Google::Apis::Core::Hashable
359
320
 
360
- # Output only. The time this CryptoKeyVersion's key material is scheduled
361
- # for destruction. Only present if state is
362
- # DESTROY_SCHEDULED.
363
- # Corresponds to the JSON property `destroyTime`
364
- # @return [String]
365
- attr_accessor :destroy_time
366
-
367
- # Output only. The time at which this CryptoKeyVersion was created.
368
- # Corresponds to the JSON property `createTime`
369
- # @return [String]
370
- attr_accessor :create_time
371
-
372
- # The current state of the CryptoKeyVersion.
373
- # Corresponds to the JSON property `state`
374
- # @return [String]
375
- attr_accessor :state
321
+ # Write a Data Access (Gin) log
322
+ # Corresponds to the JSON property `dataAccess`
323
+ # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
324
+ attr_accessor :data_access
376
325
 
377
- # Output only. The resource name for this CryptoKeyVersion in the format
378
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
379
- # Corresponds to the JSON property `name`
380
- # @return [String]
381
- attr_accessor :name
326
+ # Write a Cloud Audit log
327
+ # Corresponds to the JSON property `cloudAudit`
328
+ # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
329
+ attr_accessor :cloud_audit
382
330
 
383
- # Output only. The time this CryptoKeyVersion's key material was
384
- # destroyed. Only present if state is
385
- # DESTROYED.
386
- # Corresponds to the JSON property `destroyEventTime`
387
- # @return [String]
388
- attr_accessor :destroy_event_time
331
+ # Options for counters
332
+ # Corresponds to the JSON property `counter`
333
+ # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
334
+ attr_accessor :counter
389
335
 
390
336
  def initialize(**args)
391
337
  update!(**args)
@@ -393,55 +339,81 @@ module Google
393
339
 
394
340
  # Update properties of this object
395
341
  def update!(**args)
396
- @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
397
- @create_time = args[:create_time] if args.key?(:create_time)
398
- @state = args[:state] if args.key?(:state)
399
- @name = args[:name] if args.key?(:name)
400
- @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
342
+ @data_access = args[:data_access] if args.key?(:data_access)
343
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
344
+ @counter = args[:counter] if args.key?(:counter)
401
345
  end
402
346
  end
403
347
 
404
- # Write a Cloud Audit log
405
- class CloudAuditOptions
348
+ # Request message for `SetIamPolicy` method.
349
+ class SetIamPolicyRequest
406
350
  include Google::Apis::Core::Hashable
407
351
 
352
+ # Defines an Identity and Access Management (IAM) policy. It is used to
353
+ # specify access control policies for Cloud Platform resources.
354
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
355
+ # `members` to a `role`, where the members can be user accounts, Google groups,
356
+ # Google domains, and service accounts. A `role` is a named list of permissions
357
+ # defined by IAM.
358
+ # **Example**
359
+ # `
360
+ # "bindings": [
361
+ # `
362
+ # "role": "roles/owner",
363
+ # "members": [
364
+ # "user:mike@example.com",
365
+ # "group:admins@example.com",
366
+ # "domain:google.com",
367
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
368
+ # ]
369
+ # `,
370
+ # `
371
+ # "role": "roles/viewer",
372
+ # "members": ["user:sean@example.com"]
373
+ # `
374
+ # ]
375
+ # `
376
+ # For a description of IAM and its features, see the
377
+ # [IAM developer's guide](https://cloud.google.com/iam).
378
+ # Corresponds to the JSON property `policy`
379
+ # @return [Google::Apis::CloudkmsV1beta1::Policy]
380
+ attr_accessor :policy
381
+
382
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
383
+ # the fields in the mask will be modified. If no mask is provided, a default
384
+ # mask is used:
385
+ # paths: "bindings, etag"
386
+ # This field is only used by Cloud IAM.
387
+ # Corresponds to the JSON property `updateMask`
388
+ # @return [String]
389
+ attr_accessor :update_mask
390
+
408
391
  def initialize(**args)
409
392
  update!(**args)
410
393
  end
411
394
 
412
395
  # Update properties of this object
413
396
  def update!(**args)
397
+ @policy = args[:policy] if args.key?(:policy)
398
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
414
399
  end
415
400
  end
416
401
 
417
- # Associates `members` with a `role`.
418
- class Binding
402
+ # Request message for KeyManagementService.Decrypt.
403
+ class DecryptRequest
419
404
  include Google::Apis::Core::Hashable
420
405
 
421
- # Specifies the identities requesting access for a Cloud Platform resource.
422
- # `members` can have the following values:
423
- # * `allUsers`: A special identifier that represents anyone who is
424
- # on the internet; with or without a Google account.
425
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
426
- # who is authenticated with a Google account or a service account.
427
- # * `user:`emailid``: An email address that represents a specific Google
428
- # account. For example, `alice@gmail.com` or `joe@example.com`.
429
- # * `serviceAccount:`emailid``: An email address that represents a service
430
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
431
- # * `group:`emailid``: An email address that represents a Google group.
432
- # For example, `admins@example.com`.
433
- # * `domain:`domain``: A Google Apps domain name that represents all the
434
- # users of that domain. For example, `google.com` or `example.com`.
435
- # Corresponds to the JSON property `members`
436
- # @return [Array<String>]
437
- attr_accessor :members
406
+ # Required. The encrypted data originally returned in
407
+ # EncryptResponse.ciphertext.
408
+ # Corresponds to the JSON property `ciphertext`
409
+ # @return [String]
410
+ attr_accessor :ciphertext
438
411
 
439
- # Role that is assigned to `members`.
440
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
441
- # Required
442
- # Corresponds to the JSON property `role`
412
+ # Optional data that must match the data originally supplied in
413
+ # EncryptRequest.additional_authenticated_data.
414
+ # Corresponds to the JSON property `additionalAuthenticatedData`
443
415
  # @return [String]
444
- attr_accessor :role
416
+ attr_accessor :additional_authenticated_data
445
417
 
446
418
  def initialize(**args)
447
419
  update!(**args)
@@ -449,26 +421,37 @@ module Google
449
421
 
450
422
  # Update properties of this object
451
423
  def update!(**args)
452
- @members = args[:members] if args.key?(:members)
453
- @role = args[:role] if args.key?(:role)
424
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
425
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
454
426
  end
455
427
  end
456
428
 
457
- # Request message for KeyManagementService.Encrypt.
458
- class EncryptRequest
429
+ # A resource that represents Google Cloud Platform location.
430
+ class Location
459
431
  include Google::Apis::Core::Hashable
460
432
 
461
- # Required. The data to encrypt. Must be no larger than 64KiB.
462
- # Corresponds to the JSON property `plaintext`
433
+ # Resource name for the location, which may vary between implementations.
434
+ # For example: `"projects/example-project/locations/us-east1"`
435
+ # Corresponds to the JSON property `name`
463
436
  # @return [String]
464
- attr_accessor :plaintext
437
+ attr_accessor :name
465
438
 
466
- # Optional data that, if specified, must also be provided during decryption
467
- # through DecryptRequest.additional_authenticated_data. Must be no
468
- # larger than 64KiB.
469
- # Corresponds to the JSON property `additionalAuthenticatedData`
439
+ # The canonical id for this location. For example: `"us-east1"`.
440
+ # Corresponds to the JSON property `locationId`
470
441
  # @return [String]
471
- attr_accessor :additional_authenticated_data
442
+ attr_accessor :location_id
443
+
444
+ # Service-specific metadata. For example the available capacity at the given
445
+ # location.
446
+ # Corresponds to the JSON property `metadata`
447
+ # @return [Hash<String,Object>]
448
+ attr_accessor :metadata
449
+
450
+ # Cross-service attributes for the location. For example
451
+ # `"cloud.googleapis.com/region": "us-east1"`
452
+ # Corresponds to the JSON property `labels`
453
+ # @return [Hash<String,String>]
454
+ attr_accessor :labels
472
455
 
473
456
  def initialize(**args)
474
457
  update!(**args)
@@ -476,29 +459,29 @@ module Google
476
459
 
477
460
  # Update properties of this object
478
461
  def update!(**args)
479
- @plaintext = args[:plaintext] if args.key?(:plaintext)
480
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
462
+ @name = args[:name] if args.key?(:name)
463
+ @location_id = args[:location_id] if args.key?(:location_id)
464
+ @metadata = args[:metadata] if args.key?(:metadata)
465
+ @labels = args[:labels] if args.key?(:labels)
481
466
  end
482
467
  end
483
468
 
484
- # Response message for KeyManagementService.ListCryptoKeyVersions.
485
- class ListCryptoKeyVersionsResponse
469
+ # Response message for KeyManagementService.ListCryptoKeys.
470
+ class ListCryptoKeysResponse
486
471
  include Google::Apis::Core::Hashable
487
472
 
488
- # The list of CryptoKeyVersions.
489
- # Corresponds to the JSON property `cryptoKeyVersions`
490
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
491
- attr_accessor :crypto_key_versions
492
-
493
473
  # A token to retrieve next page of results. Pass this value in
494
- # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
495
- # results.
474
+ # ListCryptoKeysRequest.page_token to retrieve the next page of results.
496
475
  # Corresponds to the JSON property `nextPageToken`
497
476
  # @return [String]
498
477
  attr_accessor :next_page_token
499
478
 
500
- # The total number of CryptoKeyVersions that matched the
501
- # query.
479
+ # The list of CryptoKeys.
480
+ # Corresponds to the JSON property `cryptoKeys`
481
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
482
+ attr_accessor :crypto_keys
483
+
484
+ # The total number of CryptoKeys that matched the query.
502
485
  # Corresponds to the JSON property `totalSize`
503
486
  # @return [Fixnum]
504
487
  attr_accessor :total_size
@@ -509,21 +492,46 @@ module Google
509
492
 
510
493
  # Update properties of this object
511
494
  def update!(**args)
512
- @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
513
495
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
496
+ @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
514
497
  @total_size = args[:total_size] if args.key?(:total_size)
515
498
  end
516
499
  end
517
500
 
518
- # Response message for `TestIamPermissions` method.
519
- class TestIamPermissionsResponse
501
+ # A condition to be met.
502
+ class Condition
520
503
  include Google::Apis::Core::Hashable
521
504
 
522
- # A subset of `TestPermissionsRequest.permissions` that the caller is
523
- # allowed.
524
- # Corresponds to the JSON property `permissions`
505
+ # Trusted attributes supplied by any service that owns resources and uses
506
+ # the IAM system for access control.
507
+ # Corresponds to the JSON property `sys`
508
+ # @return [String]
509
+ attr_accessor :sys
510
+
511
+ # DEPRECATED. Use 'values' instead.
512
+ # Corresponds to the JSON property `value`
513
+ # @return [String]
514
+ attr_accessor :value
515
+
516
+ # The objects of the condition. This is mutually exclusive with 'value'.
517
+ # Corresponds to the JSON property `values`
525
518
  # @return [Array<String>]
526
- attr_accessor :permissions
519
+ attr_accessor :values
520
+
521
+ # Trusted attributes supplied by the IAM system.
522
+ # Corresponds to the JSON property `iam`
523
+ # @return [String]
524
+ attr_accessor :iam
525
+
526
+ # An operator to apply the subject with.
527
+ # Corresponds to the JSON property `op`
528
+ # @return [String]
529
+ attr_accessor :op
530
+
531
+ # Trusted attributes discharged by the service.
532
+ # Corresponds to the JSON property `svc`
533
+ # @return [String]
534
+ attr_accessor :svc
527
535
 
528
536
  def initialize(**args)
529
537
  update!(**args)
@@ -531,186 +539,188 @@ module Google
531
539
 
532
540
  # Update properties of this object
533
541
  def update!(**args)
534
- @permissions = args[:permissions] if args.key?(:permissions)
542
+ @sys = args[:sys] if args.key?(:sys)
543
+ @value = args[:value] if args.key?(:value)
544
+ @values = args[:values] if args.key?(:values)
545
+ @iam = args[:iam] if args.key?(:iam)
546
+ @op = args[:op] if args.key?(:op)
547
+ @svc = args[:svc] if args.key?(:svc)
535
548
  end
536
549
  end
537
550
 
538
- # Request message for KeyManagementService.DestroyCryptoKeyVersion.
539
- class DestroyCryptoKeyVersionRequest
551
+ # Options for counters
552
+ class CounterOptions
540
553
  include Google::Apis::Core::Hashable
541
554
 
555
+ # The metric to update.
556
+ # Corresponds to the JSON property `metric`
557
+ # @return [String]
558
+ attr_accessor :metric
559
+
560
+ # The field value to attribute.
561
+ # Corresponds to the JSON property `field`
562
+ # @return [String]
563
+ attr_accessor :field
564
+
542
565
  def initialize(**args)
543
566
  update!(**args)
544
567
  end
545
568
 
546
569
  # Update properties of this object
547
570
  def update!(**args)
571
+ @metric = args[:metric] if args.key?(:metric)
572
+ @field = args[:field] if args.key?(:field)
548
573
  end
549
574
  end
550
575
 
551
- # A rule to be applied in a Policy.
552
- class Rule
576
+ # Provides the configuration for logging a type of permissions.
577
+ # Example:
578
+ # `
579
+ # "audit_log_configs": [
580
+ # `
581
+ # "log_type": "DATA_READ",
582
+ # "exempted_members": [
583
+ # "user:foo@gmail.com"
584
+ # ]
585
+ # `,
586
+ # `
587
+ # "log_type": "DATA_WRITE",
588
+ # `
589
+ # ]
590
+ # `
591
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
592
+ # foo@gmail.com from DATA_READ logging.
593
+ class AuditLogConfig
553
594
  include Google::Apis::Core::Hashable
554
595
 
555
- # If one or more 'not_in' clauses are specified, the rule matches
556
- # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
557
- # The format for in and not_in entries is the same as for members in a
558
- # Binding (see google/iam/v1/policy.proto).
559
- # Corresponds to the JSON property `notIn`
596
+ # Specifies the identities that do not cause logging for this type of
597
+ # permission.
598
+ # Follows the same format of Binding.members.
599
+ # Corresponds to the JSON property `exemptedMembers`
560
600
  # @return [Array<String>]
561
- attr_accessor :not_in
601
+ attr_accessor :exempted_members
562
602
 
563
- # Human-readable description of the rule.
564
- # Corresponds to the JSON property `description`
603
+ # The log type that this config enables.
604
+ # Corresponds to the JSON property `logType`
565
605
  # @return [String]
566
- attr_accessor :description
606
+ attr_accessor :log_type
567
607
 
568
- # Additional restrictions that must be met
569
- # Corresponds to the JSON property `conditions`
570
- # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
571
- attr_accessor :conditions
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
572
611
 
573
- # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
574
- # that match the LOG action.
575
- # Corresponds to the JSON property `logConfig`
576
- # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
577
- attr_accessor :log_config
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
615
+ @log_type = args[:log_type] if args.key?(:log_type)
616
+ end
617
+ end
618
+
619
+ # Response message for KeyManagementService.Decrypt.
620
+ class DecryptResponse
621
+ include Google::Apis::Core::Hashable
622
+
623
+ # The decrypted data originally supplied in EncryptRequest.plaintext.
624
+ # Corresponds to the JSON property `plaintext`
625
+ # @return [String]
626
+ attr_accessor :plaintext
627
+
628
+ def initialize(**args)
629
+ update!(**args)
630
+ end
631
+
632
+ # Update properties of this object
633
+ def update!(**args)
634
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
635
+ end
636
+ end
578
637
 
579
- # If one or more 'in' clauses are specified, the rule matches if
580
- # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
581
- # Corresponds to the JSON property `in`
582
- # @return [Array<String>]
583
- attr_accessor :in
638
+ # Request message for `TestIamPermissions` method.
639
+ class TestIamPermissionsRequest
640
+ include Google::Apis::Core::Hashable
584
641
 
585
- # A permission is a string of form '<service>.<resource type>.<verb>'
586
- # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
587
- # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
642
+ # The set of permissions to check for the `resource`. Permissions with
643
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
644
+ # information see
645
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
588
646
  # Corresponds to the JSON property `permissions`
589
647
  # @return [Array<String>]
590
648
  attr_accessor :permissions
591
649
 
592
- # Required
593
- # Corresponds to the JSON property `action`
594
- # @return [String]
595
- attr_accessor :action
596
-
597
650
  def initialize(**args)
598
651
  update!(**args)
599
652
  end
600
653
 
601
654
  # Update properties of this object
602
655
  def update!(**args)
603
- @not_in = args[:not_in] if args.key?(:not_in)
604
- @description = args[:description] if args.key?(:description)
605
- @conditions = args[:conditions] if args.key?(:conditions)
606
- @log_config = args[:log_config] if args.key?(:log_config)
607
- @in = args[:in] if args.key?(:in)
608
656
  @permissions = args[:permissions] if args.key?(:permissions)
609
- @action = args[:action] if args.key?(:action)
610
657
  end
611
658
  end
612
659
 
613
- # A CryptoKey represents a logical key that can be used for cryptographic
614
- # operations.
615
- # A CryptoKey is made up of one or more versions, which
616
- # represent the actual key material used in cryptographic operations.
617
- class CryptoKey
660
+ # A KeyRing is a toplevel logical grouping of CryptoKeys.
661
+ class KeyRing
618
662
  include Google::Apis::Core::Hashable
619
663
 
620
- # The immutable purpose of this CryptoKey. Currently, the only acceptable
621
- # purpose is ENCRYPT_DECRYPT.
622
- # Corresponds to the JSON property `purpose`
623
- # @return [String]
624
- attr_accessor :purpose
625
-
626
- # At next_rotation_time, the Key Management Service will automatically:
627
- # 1. Create a new version of this CryptoKey.
628
- # 2. Mark the new version as primary.
629
- # Key rotations performed manually via
630
- # CreateCryptoKeyVersion and
631
- # UpdateCryptoKeyPrimaryVersion
632
- # do not affect next_rotation_time.
633
- # Corresponds to the JSON property `nextRotationTime`
634
- # @return [String]
635
- attr_accessor :next_rotation_time
636
-
637
- # Output only. The time at which this CryptoKey was created.
664
+ # Output only. The time at which this KeyRing was created.
638
665
  # Corresponds to the JSON property `createTime`
639
666
  # @return [String]
640
667
  attr_accessor :create_time
641
668
 
642
- # next_rotation_time will be advanced by this period when the service
643
- # automatically rotates a key. Must be at least one day.
644
- # If rotation_period is set, next_rotation_time must also be set.
645
- # Corresponds to the JSON property `rotationPeriod`
669
+ # Output only. The resource name for the KeyRing in the format
670
+ # `projects/*/locations/*/keyRings/*`.
671
+ # Corresponds to the JSON property `name`
646
672
  # @return [String]
647
- attr_accessor :rotation_period
673
+ attr_accessor :name
648
674
 
649
- # A CryptoKeyVersion represents an individual cryptographic key, and the
650
- # associated key material.
651
- # It can be used for cryptographic operations either directly, or via its
652
- # parent CryptoKey, in which case the server will choose the appropriate
653
- # version for the operation.
654
- # Corresponds to the JSON property `primary`
655
- # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
656
- attr_accessor :primary
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
657
678
 
658
- # Output only. The resource name for this CryptoKey in the format
659
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @create_time = args[:create_time] if args.key?(:create_time)
682
+ @name = args[:name] if args.key?(:name)
683
+ end
684
+ end
685
+
686
+ # Response message for KeyManagementService.Encrypt.
687
+ class EncryptResponse
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # The resource name of the CryptoKeyVersion used in encryption.
660
691
  # Corresponds to the JSON property `name`
661
692
  # @return [String]
662
693
  attr_accessor :name
663
694
 
695
+ # The encrypted data.
696
+ # Corresponds to the JSON property `ciphertext`
697
+ # @return [String]
698
+ attr_accessor :ciphertext
699
+
664
700
  def initialize(**args)
665
701
  update!(**args)
666
702
  end
667
703
 
668
704
  # Update properties of this object
669
705
  def update!(**args)
670
- @purpose = args[:purpose] if args.key?(:purpose)
671
- @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
672
- @create_time = args[:create_time] if args.key?(:create_time)
673
- @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
674
- @primary = args[:primary] if args.key?(:primary)
675
706
  @name = args[:name] if args.key?(:name)
707
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
676
708
  end
677
709
  end
678
710
 
679
- # Specifies what kind of log the caller must write
680
- # Increment a streamz counter with the specified metric and field names.
681
- # Metric names should start with a '/', generally be lowercase-only,
682
- # and end in "_count". Field names should not contain an initial slash.
683
- # The actual exported metric names will have "/iam/policy" prepended.
684
- # Field names correspond to IAM request parameters and field values are
685
- # their respective values.
686
- # At present the only supported field names are
687
- # - "iam_principal", corresponding to IAMContext.principal;
688
- # - "" (empty string), resulting in one aggretated counter with no field.
689
- # Examples:
690
- # counter ` metric: "/debug_access_count" field: "iam_principal" `
691
- # ==> increment counter /iam/policy/backend_debug_access_count
692
- # `iam_principal=[value of IAMContext.principal]`
693
- # At this time we do not support:
694
- # * multiple field names (though this may be supported in the future)
695
- # * decrementing the counter
696
- # * incrementing it by anything other than 1
697
- class LogConfig
711
+ # The response message for Locations.ListLocations.
712
+ class ListLocationsResponse
698
713
  include Google::Apis::Core::Hashable
699
714
 
700
- # Write a Cloud Audit log
701
- # Corresponds to the JSON property `cloudAudit`
702
- # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
703
- attr_accessor :cloud_audit
704
-
705
- # Options for counters
706
- # Corresponds to the JSON property `counter`
707
- # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
708
- attr_accessor :counter
715
+ # A list of locations that matches the specified filter in the request.
716
+ # Corresponds to the JSON property `locations`
717
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
718
+ attr_accessor :locations
709
719
 
710
- # Write a Data Access (Gin) log
711
- # Corresponds to the JSON property `dataAccess`
712
- # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
713
- attr_accessor :data_access
720
+ # The standard List next-page token.
721
+ # Corresponds to the JSON property `nextPageToken`
722
+ # @return [String]
723
+ attr_accessor :next_page_token
714
724
 
715
725
  def initialize(**args)
716
726
  update!(**args)
@@ -718,54 +728,88 @@ module Google
718
728
 
719
729
  # Update properties of this object
720
730
  def update!(**args)
721
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
722
- @counter = args[:counter] if args.key?(:counter)
723
- @data_access = args[:data_access] if args.key?(:data_access)
731
+ @locations = args[:locations] if args.key?(:locations)
732
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
724
733
  end
725
734
  end
726
735
 
727
- # Request message for `SetIamPolicy` method.
728
- class SetIamPolicyRequest
736
+ # Defines an Identity and Access Management (IAM) policy. It is used to
737
+ # specify access control policies for Cloud Platform resources.
738
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
739
+ # `members` to a `role`, where the members can be user accounts, Google groups,
740
+ # Google domains, and service accounts. A `role` is a named list of permissions
741
+ # defined by IAM.
742
+ # **Example**
743
+ # `
744
+ # "bindings": [
745
+ # `
746
+ # "role": "roles/owner",
747
+ # "members": [
748
+ # "user:mike@example.com",
749
+ # "group:admins@example.com",
750
+ # "domain:google.com",
751
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
752
+ # ]
753
+ # `,
754
+ # `
755
+ # "role": "roles/viewer",
756
+ # "members": ["user:sean@example.com"]
757
+ # `
758
+ # ]
759
+ # `
760
+ # For a description of IAM and its features, see the
761
+ # [IAM developer's guide](https://cloud.google.com/iam).
762
+ class Policy
729
763
  include Google::Apis::Core::Hashable
730
764
 
731
- # Defines an Identity and Access Management (IAM) policy. It is used to
732
- # specify access control policies for Cloud Platform resources.
733
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
734
- # `members` to a `role`, where the members can be user accounts, Google groups,
735
- # Google domains, and service accounts. A `role` is a named list of permissions
736
- # defined by IAM.
737
- # **Example**
738
- # `
739
- # "bindings": [
740
- # `
741
- # "role": "roles/owner",
742
- # "members": [
743
- # "user:mike@example.com",
744
- # "group:admins@example.com",
745
- # "domain:google.com",
746
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
747
- # ]
748
- # `,
749
- # `
750
- # "role": "roles/viewer",
751
- # "members": ["user:sean@example.com"]
752
- # `
753
- # ]
754
- # `
755
- # For a description of IAM and its features, see the
756
- # [IAM developer's guide](https://cloud.google.com/iam).
757
- # Corresponds to the JSON property `policy`
758
- # @return [Google::Apis::CloudkmsV1beta1::Policy]
759
- attr_accessor :policy
765
+ # Specifies cloud audit logging configuration for this policy.
766
+ # Corresponds to the JSON property `auditConfigs`
767
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
768
+ attr_accessor :audit_configs
760
769
 
761
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
762
- # the fields in the mask will be modified. If no mask is provided, a default
763
- # mask is used:
764
- # paths: "bindings, etag"
765
- # This field is only used by Cloud IAM.
766
- # Corresponds to the JSON property `updateMask`
770
+ # Associates a list of `members` to a `role`.
771
+ # Multiple `bindings` must not be specified for the same `role`.
772
+ # `bindings` with no members will result in an error.
773
+ # Corresponds to the JSON property `bindings`
774
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
775
+ attr_accessor :bindings
776
+
777
+ # `etag` is used for optimistic concurrency control as a way to help
778
+ # prevent simultaneous updates of a policy from overwriting each other.
779
+ # It is strongly suggested that systems make use of the `etag` in the
780
+ # read-modify-write cycle to perform policy updates in order to avoid race
781
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
782
+ # systems are expected to put that etag in the request to `setIamPolicy` to
783
+ # ensure that their change will be applied to the same version of the policy.
784
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
785
+ # policy is overwritten blindly.
786
+ # Corresponds to the JSON property `etag`
767
787
  # @return [String]
768
- attr_accessor :update_mask
788
+ attr_accessor :etag
789
+
790
+ #
791
+ # Corresponds to the JSON property `iamOwned`
792
+ # @return [Boolean]
793
+ attr_accessor :iam_owned
794
+ alias_method :iam_owned?, :iam_owned
795
+
796
+ # If more than one rule is specified, the rules are applied in the following
797
+ # manner:
798
+ # - All matching LOG rules are always applied.
799
+ # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
800
+ # Logging will be applied if one or more matching rule requires logging.
801
+ # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
802
+ # granted.
803
+ # Logging will be applied if one or more matching rule requires logging.
804
+ # - Otherwise, if no rule applies, permission is denied.
805
+ # Corresponds to the JSON property `rules`
806
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
807
+ attr_accessor :rules
808
+
809
+ # Version of the `Policy`. The default version is 0.
810
+ # Corresponds to the JSON property `version`
811
+ # @return [Fixnum]
812
+ attr_accessor :version
769
813
 
770
814
  def initialize(**args)
771
815
  update!(**args)
@@ -773,26 +817,23 @@ module Google
773
817
 
774
818
  # Update properties of this object
775
819
  def update!(**args)
776
- @policy = args[:policy] if args.key?(:policy)
777
- @update_mask = args[:update_mask] if args.key?(:update_mask)
820
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
821
+ @bindings = args[:bindings] if args.key?(:bindings)
822
+ @etag = args[:etag] if args.key?(:etag)
823
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
824
+ @rules = args[:rules] if args.key?(:rules)
825
+ @version = args[:version] if args.key?(:version)
778
826
  end
779
827
  end
780
828
 
781
- # Request message for KeyManagementService.Decrypt.
782
- class DecryptRequest
829
+ # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
830
+ class UpdateCryptoKeyPrimaryVersionRequest
783
831
  include Google::Apis::Core::Hashable
784
832
 
785
- # Required. The encrypted data originally returned in
786
- # EncryptResponse.ciphertext.
787
- # Corresponds to the JSON property `ciphertext`
788
- # @return [String]
789
- attr_accessor :ciphertext
790
-
791
- # Optional data that must match the data originally supplied in
792
- # EncryptRequest.additional_authenticated_data.
793
- # Corresponds to the JSON property `additionalAuthenticatedData`
833
+ # The id of the child CryptoKeyVersion to use as primary.
834
+ # Corresponds to the JSON property `cryptoKeyVersionId`
794
835
  # @return [String]
795
- attr_accessor :additional_authenticated_data
836
+ attr_accessor :crypto_key_version_id
796
837
 
797
838
  def initialize(**args)
798
839
  update!(**args)
@@ -800,37 +841,26 @@ module Google
800
841
 
801
842
  # Update properties of this object
802
843
  def update!(**args)
803
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
804
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
844
+ @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
805
845
  end
806
846
  end
807
847
 
808
- # A resource that represents Google Cloud Platform location.
809
- class Location
848
+ # Request message for KeyManagementService.RestoreCryptoKeyVersion.
849
+ class RestoreCryptoKeyVersionRequest
810
850
  include Google::Apis::Core::Hashable
811
851
 
812
- # Cross-service attributes for the location. For example
813
- # `"cloud.googleapis.com/region": "us-east1"`
814
- # Corresponds to the JSON property `labels`
815
- # @return [Hash<String,String>]
816
- attr_accessor :labels
817
-
818
- # Resource name for the location, which may vary between implementations.
819
- # For example: `"projects/example-project/locations/us-east1"`
820
- # Corresponds to the JSON property `name`
821
- # @return [String]
822
- attr_accessor :name
852
+ def initialize(**args)
853
+ update!(**args)
854
+ end
823
855
 
824
- # The canonical id for this location. For example: `"us-east1"`.
825
- # Corresponds to the JSON property `locationId`
826
- # @return [String]
827
- attr_accessor :location_id
856
+ # Update properties of this object
857
+ def update!(**args)
858
+ end
859
+ end
828
860
 
829
- # Service-specific metadata. For example the available capacity at the given
830
- # location.
831
- # Corresponds to the JSON property `metadata`
832
- # @return [Hash<String,Object>]
833
- attr_accessor :metadata
861
+ # Write a Data Access (Gin) log
862
+ class DataAccessOptions
863
+ include Google::Apis::Core::Hashable
834
864
 
835
865
  def initialize(**args)
836
866
  update!(**args)
@@ -838,33 +868,29 @@ module Google
838
868
 
839
869
  # Update properties of this object
840
870
  def update!(**args)
841
- @labels = args[:labels] if args.key?(:labels)
842
- @name = args[:name] if args.key?(:name)
843
- @location_id = args[:location_id] if args.key?(:location_id)
844
- @metadata = args[:metadata] if args.key?(:metadata)
845
871
  end
846
872
  end
847
873
 
848
- # Response message for KeyManagementService.ListCryptoKeys.
849
- class ListCryptoKeysResponse
874
+ # Response message for KeyManagementService.ListKeyRings.
875
+ class ListKeyRingsResponse
850
876
  include Google::Apis::Core::Hashable
851
877
 
852
878
  # A token to retrieve next page of results. Pass this value in
853
- # ListCryptoKeysRequest.page_token to retrieve the next page of results.
879
+ # ListKeyRingsRequest.page_token to retrieve the next page of results.
854
880
  # Corresponds to the JSON property `nextPageToken`
855
881
  # @return [String]
856
882
  attr_accessor :next_page_token
857
883
 
858
- # The list of CryptoKeys.
859
- # Corresponds to the JSON property `cryptoKeys`
860
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
861
- attr_accessor :crypto_keys
862
-
863
- # The total number of CryptoKeys that matched the query.
884
+ # The total number of KeyRings that matched the query.
864
885
  # Corresponds to the JSON property `totalSize`
865
886
  # @return [Fixnum]
866
887
  attr_accessor :total_size
867
888
 
889
+ # The list of KeyRings.
890
+ # Corresponds to the JSON property `keyRings`
891
+ # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
892
+ attr_accessor :key_rings
893
+
868
894
  def initialize(**args)
869
895
  update!(**args)
870
896
  end
@@ -872,45 +898,78 @@ module Google
872
898
  # Update properties of this object
873
899
  def update!(**args)
874
900
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
875
- @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
876
901
  @total_size = args[:total_size] if args.key?(:total_size)
902
+ @key_rings = args[:key_rings] if args.key?(:key_rings)
877
903
  end
878
904
  end
879
905
 
880
- # A condition to be met.
881
- class Condition
906
+ # Specifies the audit configuration for a service.
907
+ # It consists of which permission types are logged, and what identities, if
908
+ # any, are exempted from logging.
909
+ # An AuditConifg must have one or more AuditLogConfigs.
910
+ # If there are AuditConfigs for both `allServices` and a specific service,
911
+ # the union of the two AuditConfigs is used for that service: the log_types
912
+ # specified in each AuditConfig are enabled, and the exempted_members in each
913
+ # AuditConfig are exempted.
914
+ # Example Policy with multiple AuditConfigs:
915
+ # `
916
+ # "audit_configs": [
917
+ # `
918
+ # "service": "allServices"
919
+ # "audit_log_configs": [
920
+ # `
921
+ # "log_type": "DATA_READ",
922
+ # "exempted_members": [
923
+ # "user:foo@gmail.com"
924
+ # ]
925
+ # `,
926
+ # `
927
+ # "log_type": "DATA_WRITE",
928
+ # `,
929
+ # `
930
+ # "log_type": "ADMIN_READ",
931
+ # `
932
+ # ]
933
+ # `,
934
+ # `
935
+ # "service": "fooservice@googleapis.com"
936
+ # "audit_log_configs": [
937
+ # `
938
+ # "log_type": "DATA_READ",
939
+ # `,
940
+ # `
941
+ # "log_type": "DATA_WRITE",
942
+ # "exempted_members": [
943
+ # "user:bar@gmail.com"
944
+ # ]
945
+ # `
946
+ # ]
947
+ # `
948
+ # ]
949
+ # `
950
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
951
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
952
+ # bar@gmail.com from DATA_WRITE logging.
953
+ class AuditConfig
882
954
  include Google::Apis::Core::Hashable
883
955
 
884
- # An operator to apply the subject with.
885
- # Corresponds to the JSON property `op`
886
- # @return [String]
887
- attr_accessor :op
888
-
889
- # Trusted attributes discharged by the service.
890
- # Corresponds to the JSON property `svc`
891
- # @return [String]
892
- attr_accessor :svc
893
-
894
- # Trusted attributes supplied by any service that owns resources and uses
895
- # the IAM system for access control.
896
- # Corresponds to the JSON property `sys`
897
- # @return [String]
898
- attr_accessor :sys
956
+ # The configuration for logging of each type of permission.
957
+ # Next ID: 4
958
+ # Corresponds to the JSON property `auditLogConfigs`
959
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
960
+ attr_accessor :audit_log_configs
899
961
 
900
- # DEPRECATED. Use 'values' instead.
901
- # Corresponds to the JSON property `value`
902
- # @return [String]
903
- attr_accessor :value
962
+ #
963
+ # Corresponds to the JSON property `exemptedMembers`
964
+ # @return [Array<String>]
965
+ attr_accessor :exempted_members
904
966
 
905
- # Trusted attributes supplied by the IAM system.
906
- # Corresponds to the JSON property `iam`
967
+ # Specifies a service that will be enabled for audit logging.
968
+ # For example, `resourcemanager`, `storage`, `compute`.
969
+ # `allServices` is a special value that covers all services.
970
+ # Corresponds to the JSON property `service`
907
971
  # @return [String]
908
- attr_accessor :iam
909
-
910
- # The objects of the condition. This is mutually exclusive with 'value'.
911
- # Corresponds to the JSON property `values`
912
- # @return [Array<String>]
913
- attr_accessor :values
972
+ attr_accessor :service
914
973
 
915
974
  def initialize(**args)
916
975
  update!(**args)
@@ -918,71 +977,49 @@ module Google
918
977
 
919
978
  # Update properties of this object
920
979
  def update!(**args)
921
- @op = args[:op] if args.key?(:op)
922
- @svc = args[:svc] if args.key?(:svc)
923
- @sys = args[:sys] if args.key?(:sys)
924
- @value = args[:value] if args.key?(:value)
925
- @iam = args[:iam] if args.key?(:iam)
926
- @values = args[:values] if args.key?(:values)
980
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
981
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
982
+ @service = args[:service] if args.key?(:service)
927
983
  end
928
984
  end
929
985
 
930
- # Options for counters
931
- class CounterOptions
986
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
987
+ # associated key material.
988
+ # It can be used for cryptographic operations either directly, or via its
989
+ # parent CryptoKey, in which case the server will choose the appropriate
990
+ # version for the operation.
991
+ class CryptoKeyVersion
932
992
  include Google::Apis::Core::Hashable
933
993
 
934
- # The metric to update.
935
- # Corresponds to the JSON property `metric`
994
+ # The current state of the CryptoKeyVersion.
995
+ # Corresponds to the JSON property `state`
936
996
  # @return [String]
937
- attr_accessor :metric
997
+ attr_accessor :state
938
998
 
939
- # The field value to attribute.
940
- # Corresponds to the JSON property `field`
999
+ # Output only. The resource name for this CryptoKeyVersion in the format
1000
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
1001
+ # Corresponds to the JSON property `name`
941
1002
  # @return [String]
942
- attr_accessor :field
943
-
944
- def initialize(**args)
945
- update!(**args)
946
- end
947
-
948
- # Update properties of this object
949
- def update!(**args)
950
- @metric = args[:metric] if args.key?(:metric)
951
- @field = args[:field] if args.key?(:field)
952
- end
953
- end
1003
+ attr_accessor :name
954
1004
 
955
- # Provides the configuration for logging a type of permissions.
956
- # Example:
957
- # `
958
- # "audit_log_configs": [
959
- # `
960
- # "log_type": "DATA_READ",
961
- # "exempted_members": [
962
- # "user:foo@gmail.com"
963
- # ]
964
- # `,
965
- # `
966
- # "log_type": "DATA_WRITE",
967
- # `
968
- # ]
969
- # `
970
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
971
- # foo@gmail.com from DATA_READ logging.
972
- class AuditLogConfig
973
- include Google::Apis::Core::Hashable
1005
+ # Output only. The time this CryptoKeyVersion's key material was
1006
+ # destroyed. Only present if state is
1007
+ # DESTROYED.
1008
+ # Corresponds to the JSON property `destroyEventTime`
1009
+ # @return [String]
1010
+ attr_accessor :destroy_event_time
974
1011
 
975
- # Specifies the identities that do not cause logging for this type of
976
- # permission.
977
- # Follows the same format of Binding.members.
978
- # Corresponds to the JSON property `exemptedMembers`
979
- # @return [Array<String>]
980
- attr_accessor :exempted_members
1012
+ # Output only. The time this CryptoKeyVersion's key material is scheduled
1013
+ # for destruction. Only present if state is
1014
+ # DESTROY_SCHEDULED.
1015
+ # Corresponds to the JSON property `destroyTime`
1016
+ # @return [String]
1017
+ attr_accessor :destroy_time
981
1018
 
982
- # The log type that this config enables.
983
- # Corresponds to the JSON property `logType`
1019
+ # Output only. The time at which this CryptoKeyVersion was created.
1020
+ # Corresponds to the JSON property `createTime`
984
1021
  # @return [String]
985
- attr_accessor :log_type
1022
+ attr_accessor :create_time
986
1023
 
987
1024
  def initialize(**args)
988
1025
  update!(**args)
@@ -990,8 +1027,11 @@ module Google
990
1027
 
991
1028
  # Update properties of this object
992
1029
  def update!(**args)
993
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
994
- @log_type = args[:log_type] if args.key?(:log_type)
1030
+ @state = args[:state] if args.key?(:state)
1031
+ @name = args[:name] if args.key?(:name)
1032
+ @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
1033
+ @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
1034
+ @create_time = args[:create_time] if args.key?(:create_time)
995
1035
  end
996
1036
  end
997
1037
  end