google-api-client 0.9.25 → 0.9.26

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