google-apis-kmsinventory_v1 0.1.0
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.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/kmsinventory_v1/classes.rb +556 -0
- data/lib/google/apis/kmsinventory_v1/gem_version.rb +28 -0
- data/lib/google/apis/kmsinventory_v1/representations.rb +207 -0
- data/lib/google/apis/kmsinventory_v1/service.rb +181 -0
- data/lib/google/apis/kmsinventory_v1.rb +36 -0
- data/lib/google-apis-kmsinventory_v1.rb +15 -0
- metadata +82 -0
@@ -0,0 +1,556 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
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 KmsinventoryV1
|
24
|
+
|
25
|
+
# Response message for KeyDashboardService.ListCryptoKeys.
|
26
|
+
class GoogleCloudKmsInventoryV1ListCryptoKeysResponse
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# The list of CryptoKeys.
|
30
|
+
# Corresponds to the JSON property `cryptoKeys`
|
31
|
+
# @return [Array<Google::Apis::KmsinventoryV1::GoogleCloudKmsV1CryptoKey>]
|
32
|
+
attr_accessor :crypto_keys
|
33
|
+
|
34
|
+
# The page token returned from the previous response if the next page is desired.
|
35
|
+
# Corresponds to the JSON property `nextPageToken`
|
36
|
+
# @return [String]
|
37
|
+
attr_accessor :next_page_token
|
38
|
+
|
39
|
+
def initialize(**args)
|
40
|
+
update!(**args)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Update properties of this object
|
44
|
+
def update!(**args)
|
45
|
+
@crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
|
46
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# Metadata about a resource protected by a Cloud KMS key.
|
51
|
+
class GoogleCloudKmsInventoryV1ProtectedResource
|
52
|
+
include Google::Apis::Core::Hashable
|
53
|
+
|
54
|
+
# The Cloud product that owns the resource. Example: `compute`
|
55
|
+
# Corresponds to the JSON property `cloudProduct`
|
56
|
+
# @return [String]
|
57
|
+
attr_accessor :cloud_product
|
58
|
+
|
59
|
+
# Output only. The time at which this resource was created. The granularity is
|
60
|
+
# in seconds. Timestamp.nanos will always be 0.
|
61
|
+
# Corresponds to the JSON property `createTime`
|
62
|
+
# @return [String]
|
63
|
+
attr_accessor :create_time
|
64
|
+
|
65
|
+
# The name of the Cloud KMS [CryptoKeyVersion](https://cloud.google.com/kms/docs/
|
66
|
+
# reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=
|
67
|
+
# en) used to protect this resource via CMEK. This field may be empty if the
|
68
|
+
# Cloud product owning the resource does not provide key version data to Asset
|
69
|
+
# Inventory.
|
70
|
+
# Corresponds to the JSON property `cryptoKeyVersion`
|
71
|
+
# @return [String]
|
72
|
+
attr_accessor :crypto_key_version
|
73
|
+
|
74
|
+
# A key-value pair of the resource's labels (v1) to their values.
|
75
|
+
# Corresponds to the JSON property `labels`
|
76
|
+
# @return [Hash<String,String>]
|
77
|
+
attr_accessor :labels
|
78
|
+
|
79
|
+
# Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`.
|
80
|
+
# Corresponds to the JSON property `location`
|
81
|
+
# @return [String]
|
82
|
+
attr_accessor :location
|
83
|
+
|
84
|
+
# The full resource name of the resource. Example: `//compute.googleapis.com/
|
85
|
+
# projects/my_project_123/zones/zone1/instances/instance1`.
|
86
|
+
# Corresponds to the JSON property `name`
|
87
|
+
# @return [String]
|
88
|
+
attr_accessor :name
|
89
|
+
|
90
|
+
# Format: `projects/`PROJECT_NUMBER``.
|
91
|
+
# Corresponds to the JSON property `project`
|
92
|
+
# @return [String]
|
93
|
+
attr_accessor :project
|
94
|
+
|
95
|
+
# The ID of the project that owns the resource.
|
96
|
+
# Corresponds to the JSON property `projectId`
|
97
|
+
# @return [String]
|
98
|
+
attr_accessor :project_id
|
99
|
+
|
100
|
+
# Example: `compute.googleapis.com/Disk`
|
101
|
+
# Corresponds to the JSON property `resourceType`
|
102
|
+
# @return [String]
|
103
|
+
attr_accessor :resource_type
|
104
|
+
|
105
|
+
def initialize(**args)
|
106
|
+
update!(**args)
|
107
|
+
end
|
108
|
+
|
109
|
+
# Update properties of this object
|
110
|
+
def update!(**args)
|
111
|
+
@cloud_product = args[:cloud_product] if args.key?(:cloud_product)
|
112
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
113
|
+
@crypto_key_version = args[:crypto_key_version] if args.key?(:crypto_key_version)
|
114
|
+
@labels = args[:labels] if args.key?(:labels)
|
115
|
+
@location = args[:location] if args.key?(:location)
|
116
|
+
@name = args[:name] if args.key?(:name)
|
117
|
+
@project = args[:project] if args.key?(:project)
|
118
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
119
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
# Aggregate information about the resources protected by a Cloud KMS key in the
|
124
|
+
# same Cloud organization as the key.
|
125
|
+
class GoogleCloudKmsInventoryV1ProtectedResourcesSummary
|
126
|
+
include Google::Apis::Core::Hashable
|
127
|
+
|
128
|
+
# The number of resources protected by the key grouped by Cloud product.
|
129
|
+
# Corresponds to the JSON property `cloudProducts`
|
130
|
+
# @return [Hash<String,Fixnum>]
|
131
|
+
attr_accessor :cloud_products
|
132
|
+
|
133
|
+
# The number of resources protected by the key grouped by region.
|
134
|
+
# Corresponds to the JSON property `locations`
|
135
|
+
# @return [Hash<String,Fixnum>]
|
136
|
+
attr_accessor :locations
|
137
|
+
|
138
|
+
# The full name of the ProtectedResourcesSummary resource. Example: projects/
|
139
|
+
# test-project/locations/us/keyRings/test-keyring/cryptoKeys/test-key/
|
140
|
+
# protectedResourcesSummary
|
141
|
+
# Corresponds to the JSON property `name`
|
142
|
+
# @return [String]
|
143
|
+
attr_accessor :name
|
144
|
+
|
145
|
+
# The number of distinct Cloud projects in the same Cloud organization as the
|
146
|
+
# key that have resources protected by the key.
|
147
|
+
# Corresponds to the JSON property `projectCount`
|
148
|
+
# @return [Fixnum]
|
149
|
+
attr_accessor :project_count
|
150
|
+
|
151
|
+
# The total number of protected resources in the same Cloud organization as the
|
152
|
+
# key.
|
153
|
+
# Corresponds to the JSON property `resourceCount`
|
154
|
+
# @return [Fixnum]
|
155
|
+
attr_accessor :resource_count
|
156
|
+
|
157
|
+
# The number of resources protected by the key grouped by resource type.
|
158
|
+
# Corresponds to the JSON property `resourceTypes`
|
159
|
+
# @return [Hash<String,Fixnum>]
|
160
|
+
attr_accessor :resource_types
|
161
|
+
|
162
|
+
def initialize(**args)
|
163
|
+
update!(**args)
|
164
|
+
end
|
165
|
+
|
166
|
+
# Update properties of this object
|
167
|
+
def update!(**args)
|
168
|
+
@cloud_products = args[:cloud_products] if args.key?(:cloud_products)
|
169
|
+
@locations = args[:locations] if args.key?(:locations)
|
170
|
+
@name = args[:name] if args.key?(:name)
|
171
|
+
@project_count = args[:project_count] if args.key?(:project_count)
|
172
|
+
@resource_count = args[:resource_count] if args.key?(:resource_count)
|
173
|
+
@resource_types = args[:resource_types] if args.key?(:resource_types)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
# Response message for KeyTrackingService.SearchProtectedResources.
|
178
|
+
class GoogleCloudKmsInventoryV1SearchProtectedResourcesResponse
|
179
|
+
include Google::Apis::Core::Hashable
|
180
|
+
|
181
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
182
|
+
# field is omitted, there are no subsequent pages.
|
183
|
+
# Corresponds to the JSON property `nextPageToken`
|
184
|
+
# @return [String]
|
185
|
+
attr_accessor :next_page_token
|
186
|
+
|
187
|
+
# Protected resources for this page.
|
188
|
+
# Corresponds to the JSON property `protectedResources`
|
189
|
+
# @return [Array<Google::Apis::KmsinventoryV1::GoogleCloudKmsInventoryV1ProtectedResource>]
|
190
|
+
attr_accessor :protected_resources
|
191
|
+
|
192
|
+
def initialize(**args)
|
193
|
+
update!(**args)
|
194
|
+
end
|
195
|
+
|
196
|
+
# Update properties of this object
|
197
|
+
def update!(**args)
|
198
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
199
|
+
@protected_resources = args[:protected_resources] if args.key?(:protected_resources)
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
# A CryptoKey represents a logical key that can be used for cryptographic
|
204
|
+
# operations. A CryptoKey is made up of zero or more versions, which represent
|
205
|
+
# the actual key material used in cryptographic operations.
|
206
|
+
class GoogleCloudKmsV1CryptoKey
|
207
|
+
include Google::Apis::Core::Hashable
|
208
|
+
|
209
|
+
# Output only. The time at which this CryptoKey was created.
|
210
|
+
# Corresponds to the JSON property `createTime`
|
211
|
+
# @return [String]
|
212
|
+
attr_accessor :create_time
|
213
|
+
|
214
|
+
# Immutable. The resource name of the backend environment where the key material
|
215
|
+
# for all CryptoKeyVersions associated with this CryptoKey reside and where all
|
216
|
+
# related cryptographic operations are performed. Only applicable if
|
217
|
+
# CryptoKeyVersions have a ProtectionLevel of EXTERNAL_VPC, with the resource
|
218
|
+
# name in the format `projects/*/locations/*/ekmConnections/*`. Note, this list
|
219
|
+
# is non-exhaustive and may apply to additional ProtectionLevels in the future.
|
220
|
+
# Corresponds to the JSON property `cryptoKeyBackend`
|
221
|
+
# @return [String]
|
222
|
+
attr_accessor :crypto_key_backend
|
223
|
+
|
224
|
+
# Immutable. The period of time that versions of this key spend in the
|
225
|
+
# DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at
|
226
|
+
# creation time, the default duration is 24 hours.
|
227
|
+
# Corresponds to the JSON property `destroyScheduledDuration`
|
228
|
+
# @return [String]
|
229
|
+
attr_accessor :destroy_scheduled_duration
|
230
|
+
|
231
|
+
# Immutable. Whether this key may contain imported versions only.
|
232
|
+
# Corresponds to the JSON property `importOnly`
|
233
|
+
# @return [Boolean]
|
234
|
+
attr_accessor :import_only
|
235
|
+
alias_method :import_only?, :import_only
|
236
|
+
|
237
|
+
# Labels with user-defined metadata. For more information, see [Labeling Keys](
|
238
|
+
# https://cloud.google.com/kms/docs/labeling-keys).
|
239
|
+
# Corresponds to the JSON property `labels`
|
240
|
+
# @return [Hash<String,String>]
|
241
|
+
attr_accessor :labels
|
242
|
+
|
243
|
+
# Output only. The resource name for this CryptoKey in the format `projects/*/
|
244
|
+
# locations/*/keyRings/*/cryptoKeys/*`.
|
245
|
+
# Corresponds to the JSON property `name`
|
246
|
+
# @return [String]
|
247
|
+
attr_accessor :name
|
248
|
+
|
249
|
+
# At next_rotation_time, the Key Management Service will automatically: 1.
|
250
|
+
# Create a new version of this CryptoKey. 2. Mark the new version as primary.
|
251
|
+
# Key rotations performed manually via CreateCryptoKeyVersion and
|
252
|
+
# UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys with
|
253
|
+
# purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field
|
254
|
+
# must be omitted.
|
255
|
+
# Corresponds to the JSON property `nextRotationTime`
|
256
|
+
# @return [String]
|
257
|
+
attr_accessor :next_rotation_time
|
258
|
+
|
259
|
+
# A CryptoKeyVersion represents an individual cryptographic key, and the
|
260
|
+
# associated key material. An ENABLED version can be used for cryptographic
|
261
|
+
# operations. For security reasons, the raw cryptographic key material
|
262
|
+
# represented by a CryptoKeyVersion can never be viewed or exported. It can only
|
263
|
+
# be used to encrypt, decrypt, or sign data when an authorized user or
|
264
|
+
# application invokes Cloud KMS.
|
265
|
+
# Corresponds to the JSON property `primary`
|
266
|
+
# @return [Google::Apis::KmsinventoryV1::GoogleCloudKmsV1CryptoKeyVersion]
|
267
|
+
attr_accessor :primary
|
268
|
+
|
269
|
+
# Immutable. The immutable purpose of this CryptoKey.
|
270
|
+
# Corresponds to the JSON property `purpose`
|
271
|
+
# @return [String]
|
272
|
+
attr_accessor :purpose
|
273
|
+
|
274
|
+
# next_rotation_time will be advanced by this period when the service
|
275
|
+
# automatically rotates a key. Must be at least 24 hours and at most 876,000
|
276
|
+
# hours. If rotation_period is set, next_rotation_time must also be set. Keys
|
277
|
+
# with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this
|
278
|
+
# field must be omitted.
|
279
|
+
# Corresponds to the JSON property `rotationPeriod`
|
280
|
+
# @return [String]
|
281
|
+
attr_accessor :rotation_period
|
282
|
+
|
283
|
+
# A CryptoKeyVersionTemplate specifies the properties to use when creating a new
|
284
|
+
# CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically
|
285
|
+
# as a result of auto-rotation.
|
286
|
+
# Corresponds to the JSON property `versionTemplate`
|
287
|
+
# @return [Google::Apis::KmsinventoryV1::GoogleCloudKmsV1CryptoKeyVersionTemplate]
|
288
|
+
attr_accessor :version_template
|
289
|
+
|
290
|
+
def initialize(**args)
|
291
|
+
update!(**args)
|
292
|
+
end
|
293
|
+
|
294
|
+
# Update properties of this object
|
295
|
+
def update!(**args)
|
296
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
297
|
+
@crypto_key_backend = args[:crypto_key_backend] if args.key?(:crypto_key_backend)
|
298
|
+
@destroy_scheduled_duration = args[:destroy_scheduled_duration] if args.key?(:destroy_scheduled_duration)
|
299
|
+
@import_only = args[:import_only] if args.key?(:import_only)
|
300
|
+
@labels = args[:labels] if args.key?(:labels)
|
301
|
+
@name = args[:name] if args.key?(:name)
|
302
|
+
@next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
|
303
|
+
@primary = args[:primary] if args.key?(:primary)
|
304
|
+
@purpose = args[:purpose] if args.key?(:purpose)
|
305
|
+
@rotation_period = args[:rotation_period] if args.key?(:rotation_period)
|
306
|
+
@version_template = args[:version_template] if args.key?(:version_template)
|
307
|
+
end
|
308
|
+
end
|
309
|
+
|
310
|
+
# A CryptoKeyVersion represents an individual cryptographic key, and the
|
311
|
+
# associated key material. An ENABLED version can be used for cryptographic
|
312
|
+
# operations. For security reasons, the raw cryptographic key material
|
313
|
+
# represented by a CryptoKeyVersion can never be viewed or exported. It can only
|
314
|
+
# be used to encrypt, decrypt, or sign data when an authorized user or
|
315
|
+
# application invokes Cloud KMS.
|
316
|
+
class GoogleCloudKmsV1CryptoKeyVersion
|
317
|
+
include Google::Apis::Core::Hashable
|
318
|
+
|
319
|
+
# Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
|
320
|
+
# Corresponds to the JSON property `algorithm`
|
321
|
+
# @return [String]
|
322
|
+
attr_accessor :algorithm
|
323
|
+
|
324
|
+
# Contains an HSM-generated attestation about a key operation. For more
|
325
|
+
# information, see [Verifying attestations] (https://cloud.google.com/kms/docs/
|
326
|
+
# attest-key).
|
327
|
+
# Corresponds to the JSON property `attestation`
|
328
|
+
# @return [Google::Apis::KmsinventoryV1::GoogleCloudKmsV1KeyOperationAttestation]
|
329
|
+
attr_accessor :attestation
|
330
|
+
|
331
|
+
# Output only. The time at which this CryptoKeyVersion was created.
|
332
|
+
# Corresponds to the JSON property `createTime`
|
333
|
+
# @return [String]
|
334
|
+
attr_accessor :create_time
|
335
|
+
|
336
|
+
# Output only. The time this CryptoKeyVersion's key material was destroyed. Only
|
337
|
+
# present if state is DESTROYED.
|
338
|
+
# Corresponds to the JSON property `destroyEventTime`
|
339
|
+
# @return [String]
|
340
|
+
attr_accessor :destroy_event_time
|
341
|
+
|
342
|
+
# Output only. The time this CryptoKeyVersion's key material is scheduled for
|
343
|
+
# destruction. Only present if state is DESTROY_SCHEDULED.
|
344
|
+
# Corresponds to the JSON property `destroyTime`
|
345
|
+
# @return [String]
|
346
|
+
attr_accessor :destroy_time
|
347
|
+
|
348
|
+
# ExternalProtectionLevelOptions stores a group of additional fields for
|
349
|
+
# configuring a CryptoKeyVersion that are specific to the EXTERNAL protection
|
350
|
+
# level and EXTERNAL_VPC protection levels.
|
351
|
+
# Corresponds to the JSON property `externalProtectionLevelOptions`
|
352
|
+
# @return [Google::Apis::KmsinventoryV1::GoogleCloudKmsV1ExternalProtectionLevelOptions]
|
353
|
+
attr_accessor :external_protection_level_options
|
354
|
+
|
355
|
+
# Output only. The time this CryptoKeyVersion's key material was generated.
|
356
|
+
# Corresponds to the JSON property `generateTime`
|
357
|
+
# @return [String]
|
358
|
+
attr_accessor :generate_time
|
359
|
+
|
360
|
+
# Output only. The root cause of the most recent import failure. Only present if
|
361
|
+
# state is IMPORT_FAILED.
|
362
|
+
# Corresponds to the JSON property `importFailureReason`
|
363
|
+
# @return [String]
|
364
|
+
attr_accessor :import_failure_reason
|
365
|
+
|
366
|
+
# Output only. The name of the ImportJob used in the most recent import of this
|
367
|
+
# CryptoKeyVersion. Only present if the underlying key material was imported.
|
368
|
+
# Corresponds to the JSON property `importJob`
|
369
|
+
# @return [String]
|
370
|
+
attr_accessor :import_job
|
371
|
+
|
372
|
+
# Output only. The time at which this CryptoKeyVersion's key material was most
|
373
|
+
# recently imported.
|
374
|
+
# Corresponds to the JSON property `importTime`
|
375
|
+
# @return [String]
|
376
|
+
attr_accessor :import_time
|
377
|
+
|
378
|
+
# Output only. The resource name for this CryptoKeyVersion in the format `
|
379
|
+
# projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
|
380
|
+
# Corresponds to the JSON property `name`
|
381
|
+
# @return [String]
|
382
|
+
attr_accessor :name
|
383
|
+
|
384
|
+
# Output only. The ProtectionLevel describing how crypto operations are
|
385
|
+
# performed with this CryptoKeyVersion.
|
386
|
+
# Corresponds to the JSON property `protectionLevel`
|
387
|
+
# @return [String]
|
388
|
+
attr_accessor :protection_level
|
389
|
+
|
390
|
+
# Output only. Whether or not this key version is eligible for reimport, by
|
391
|
+
# being specified as a target in ImportCryptoKeyVersionRequest.
|
392
|
+
# crypto_key_version.
|
393
|
+
# Corresponds to the JSON property `reimportEligible`
|
394
|
+
# @return [Boolean]
|
395
|
+
attr_accessor :reimport_eligible
|
396
|
+
alias_method :reimport_eligible?, :reimport_eligible
|
397
|
+
|
398
|
+
# The current state of the CryptoKeyVersion.
|
399
|
+
# Corresponds to the JSON property `state`
|
400
|
+
# @return [String]
|
401
|
+
attr_accessor :state
|
402
|
+
|
403
|
+
def initialize(**args)
|
404
|
+
update!(**args)
|
405
|
+
end
|
406
|
+
|
407
|
+
# Update properties of this object
|
408
|
+
def update!(**args)
|
409
|
+
@algorithm = args[:algorithm] if args.key?(:algorithm)
|
410
|
+
@attestation = args[:attestation] if args.key?(:attestation)
|
411
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
412
|
+
@destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
|
413
|
+
@destroy_time = args[:destroy_time] if args.key?(:destroy_time)
|
414
|
+
@external_protection_level_options = args[:external_protection_level_options] if args.key?(:external_protection_level_options)
|
415
|
+
@generate_time = args[:generate_time] if args.key?(:generate_time)
|
416
|
+
@import_failure_reason = args[:import_failure_reason] if args.key?(:import_failure_reason)
|
417
|
+
@import_job = args[:import_job] if args.key?(:import_job)
|
418
|
+
@import_time = args[:import_time] if args.key?(:import_time)
|
419
|
+
@name = args[:name] if args.key?(:name)
|
420
|
+
@protection_level = args[:protection_level] if args.key?(:protection_level)
|
421
|
+
@reimport_eligible = args[:reimport_eligible] if args.key?(:reimport_eligible)
|
422
|
+
@state = args[:state] if args.key?(:state)
|
423
|
+
end
|
424
|
+
end
|
425
|
+
|
426
|
+
# A CryptoKeyVersionTemplate specifies the properties to use when creating a new
|
427
|
+
# CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically
|
428
|
+
# as a result of auto-rotation.
|
429
|
+
class GoogleCloudKmsV1CryptoKeyVersionTemplate
|
430
|
+
include Google::Apis::Core::Hashable
|
431
|
+
|
432
|
+
# Required. Algorithm to use when creating a CryptoKeyVersion based on this
|
433
|
+
# template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied
|
434
|
+
# if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
|
435
|
+
# Corresponds to the JSON property `algorithm`
|
436
|
+
# @return [String]
|
437
|
+
attr_accessor :algorithm
|
438
|
+
|
439
|
+
# ProtectionLevel to use when creating a CryptoKeyVersion based on this template.
|
440
|
+
# Immutable. Defaults to SOFTWARE.
|
441
|
+
# Corresponds to the JSON property `protectionLevel`
|
442
|
+
# @return [String]
|
443
|
+
attr_accessor :protection_level
|
444
|
+
|
445
|
+
def initialize(**args)
|
446
|
+
update!(**args)
|
447
|
+
end
|
448
|
+
|
449
|
+
# Update properties of this object
|
450
|
+
def update!(**args)
|
451
|
+
@algorithm = args[:algorithm] if args.key?(:algorithm)
|
452
|
+
@protection_level = args[:protection_level] if args.key?(:protection_level)
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
456
|
+
# ExternalProtectionLevelOptions stores a group of additional fields for
|
457
|
+
# configuring a CryptoKeyVersion that are specific to the EXTERNAL protection
|
458
|
+
# level and EXTERNAL_VPC protection levels.
|
459
|
+
class GoogleCloudKmsV1ExternalProtectionLevelOptions
|
460
|
+
include Google::Apis::Core::Hashable
|
461
|
+
|
462
|
+
# The path to the external key material on the EKM when using EkmConnection e.g.,
|
463
|
+
# "v0/my/key". Set this field instead of external_key_uri when using an
|
464
|
+
# EkmConnection.
|
465
|
+
# Corresponds to the JSON property `ekmConnectionKeyPath`
|
466
|
+
# @return [String]
|
467
|
+
attr_accessor :ekm_connection_key_path
|
468
|
+
|
469
|
+
# The URI for an external resource that this CryptoKeyVersion represents.
|
470
|
+
# Corresponds to the JSON property `externalKeyUri`
|
471
|
+
# @return [String]
|
472
|
+
attr_accessor :external_key_uri
|
473
|
+
|
474
|
+
def initialize(**args)
|
475
|
+
update!(**args)
|
476
|
+
end
|
477
|
+
|
478
|
+
# Update properties of this object
|
479
|
+
def update!(**args)
|
480
|
+
@ekm_connection_key_path = args[:ekm_connection_key_path] if args.key?(:ekm_connection_key_path)
|
481
|
+
@external_key_uri = args[:external_key_uri] if args.key?(:external_key_uri)
|
482
|
+
end
|
483
|
+
end
|
484
|
+
|
485
|
+
# Contains an HSM-generated attestation about a key operation. For more
|
486
|
+
# information, see [Verifying attestations] (https://cloud.google.com/kms/docs/
|
487
|
+
# attest-key).
|
488
|
+
class GoogleCloudKmsV1KeyOperationAttestation
|
489
|
+
include Google::Apis::Core::Hashable
|
490
|
+
|
491
|
+
# Certificate chains needed to verify the attestation. Certificates in chains
|
492
|
+
# are PEM-encoded and are ordered based on https://tools.ietf.org/html/rfc5246#
|
493
|
+
# section-7.4.2.
|
494
|
+
# Corresponds to the JSON property `certChains`
|
495
|
+
# @return [Google::Apis::KmsinventoryV1::GoogleCloudKmsV1KeyOperationAttestationCertificateChains]
|
496
|
+
attr_accessor :cert_chains
|
497
|
+
|
498
|
+
# Output only. The attestation data provided by the HSM when the key operation
|
499
|
+
# was performed.
|
500
|
+
# Corresponds to the JSON property `content`
|
501
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
502
|
+
# @return [String]
|
503
|
+
attr_accessor :content
|
504
|
+
|
505
|
+
# Output only. The format of the attestation data.
|
506
|
+
# Corresponds to the JSON property `format`
|
507
|
+
# @return [String]
|
508
|
+
attr_accessor :format
|
509
|
+
|
510
|
+
def initialize(**args)
|
511
|
+
update!(**args)
|
512
|
+
end
|
513
|
+
|
514
|
+
# Update properties of this object
|
515
|
+
def update!(**args)
|
516
|
+
@cert_chains = args[:cert_chains] if args.key?(:cert_chains)
|
517
|
+
@content = args[:content] if args.key?(:content)
|
518
|
+
@format = args[:format] if args.key?(:format)
|
519
|
+
end
|
520
|
+
end
|
521
|
+
|
522
|
+
# Certificate chains needed to verify the attestation. Certificates in chains
|
523
|
+
# are PEM-encoded and are ordered based on https://tools.ietf.org/html/rfc5246#
|
524
|
+
# section-7.4.2.
|
525
|
+
class GoogleCloudKmsV1KeyOperationAttestationCertificateChains
|
526
|
+
include Google::Apis::Core::Hashable
|
527
|
+
|
528
|
+
# Cavium certificate chain corresponding to the attestation.
|
529
|
+
# Corresponds to the JSON property `caviumCerts`
|
530
|
+
# @return [Array<String>]
|
531
|
+
attr_accessor :cavium_certs
|
532
|
+
|
533
|
+
# Google card certificate chain corresponding to the attestation.
|
534
|
+
# Corresponds to the JSON property `googleCardCerts`
|
535
|
+
# @return [Array<String>]
|
536
|
+
attr_accessor :google_card_certs
|
537
|
+
|
538
|
+
# Google partition certificate chain corresponding to the attestation.
|
539
|
+
# Corresponds to the JSON property `googlePartitionCerts`
|
540
|
+
# @return [Array<String>]
|
541
|
+
attr_accessor :google_partition_certs
|
542
|
+
|
543
|
+
def initialize(**args)
|
544
|
+
update!(**args)
|
545
|
+
end
|
546
|
+
|
547
|
+
# Update properties of this object
|
548
|
+
def update!(**args)
|
549
|
+
@cavium_certs = args[:cavium_certs] if args.key?(:cavium_certs)
|
550
|
+
@google_card_certs = args[:google_card_certs] if args.key?(:google_card_certs)
|
551
|
+
@google_partition_certs = args[:google_partition_certs] if args.key?(:google_partition_certs)
|
552
|
+
end
|
553
|
+
end
|
554
|
+
end
|
555
|
+
end
|
556
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
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
|
+
module Google
|
16
|
+
module Apis
|
17
|
+
module KmsinventoryV1
|
18
|
+
# Version of the google-apis-kmsinventory_v1 gem
|
19
|
+
GEM_VERSION = "0.1.0"
|
20
|
+
|
21
|
+
# Version of the code generator used to generate this client
|
22
|
+
GENERATOR_VERSION = "0.11.1"
|
23
|
+
|
24
|
+
# Revision of the discovery document this client was generated from
|
25
|
+
REVISION = "20230115"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|