google-api-client 0.9.25 → 0.9.26

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