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