Skip to content

Commit c5c28d5

Browse files
yoshi-automationsofisl
authored andcommitted
feat(cloudkms): update the API
#### cloudkms:v1 The following keys were added: - resources.projects.resources.locations.methods.getEkmConfig.description - resources.projects.resources.locations.methods.getEkmConfig.flatPath - resources.projects.resources.locations.methods.getEkmConfig.httpMethod - resources.projects.resources.locations.methods.getEkmConfig.id - resources.projects.resources.locations.methods.getEkmConfig.parameterOrder - resources.projects.resources.locations.methods.getEkmConfig.parameters.name.description - resources.projects.resources.locations.methods.getEkmConfig.parameters.name.location - resources.projects.resources.locations.methods.getEkmConfig.parameters.name.pattern - resources.projects.resources.locations.methods.getEkmConfig.parameters.name.required - resources.projects.resources.locations.methods.getEkmConfig.parameters.name.type - resources.projects.resources.locations.methods.getEkmConfig.path - resources.projects.resources.locations.methods.getEkmConfig.response.$ref - resources.projects.resources.locations.methods.getEkmConfig.scopes - resources.projects.resources.locations.methods.updateEkmConfig.description - resources.projects.resources.locations.methods.updateEkmConfig.flatPath - resources.projects.resources.locations.methods.updateEkmConfig.httpMethod - resources.projects.resources.locations.methods.updateEkmConfig.id - resources.projects.resources.locations.methods.updateEkmConfig.parameterOrder - resources.projects.resources.locations.methods.updateEkmConfig.parameters.name.description - resources.projects.resources.locations.methods.updateEkmConfig.parameters.name.location - resources.projects.resources.locations.methods.updateEkmConfig.parameters.name.pattern - resources.projects.resources.locations.methods.updateEkmConfig.parameters.name.required - resources.projects.resources.locations.methods.updateEkmConfig.parameters.name.type - resources.projects.resources.locations.methods.updateEkmConfig.parameters.updateMask.description - resources.projects.resources.locations.methods.updateEkmConfig.parameters.updateMask.format - resources.projects.resources.locations.methods.updateEkmConfig.parameters.updateMask.location - resources.projects.resources.locations.methods.updateEkmConfig.parameters.updateMask.type - resources.projects.resources.locations.methods.updateEkmConfig.path - resources.projects.resources.locations.methods.updateEkmConfig.request.$ref - resources.projects.resources.locations.methods.updateEkmConfig.response.$ref - resources.projects.resources.locations.methods.updateEkmConfig.scopes - schemas.CryptoKeyVersion.properties.externalDestructionFailureReason.description - schemas.CryptoKeyVersion.properties.externalDestructionFailureReason.readOnly - schemas.CryptoKeyVersion.properties.externalDestructionFailureReason.type - schemas.CryptoKeyVersion.properties.generationFailureReason.description - schemas.CryptoKeyVersion.properties.generationFailureReason.readOnly - schemas.CryptoKeyVersion.properties.generationFailureReason.type - schemas.EkmConfig.description - schemas.EkmConfig.id - schemas.EkmConfig.properties.defaultEkmConnection.description - schemas.EkmConfig.properties.defaultEkmConnection.type - schemas.EkmConfig.properties.name.description - schemas.EkmConfig.properties.name.readOnly - schemas.EkmConfig.properties.name.type - schemas.EkmConfig.type - schemas.EkmConnection.properties.cryptoSpacePath.description - schemas.EkmConnection.properties.cryptoSpacePath.type - schemas.EkmConnection.properties.keyManagementMode.description - schemas.EkmConnection.properties.keyManagementMode.enum - schemas.EkmConnection.properties.keyManagementMode.enumDescriptions - schemas.EkmConnection.properties.keyManagementMode.type The following keys were changed: - schemas.CryptoKeyVersion.properties.state.enum - schemas.CryptoKeyVersion.properties.state.enumDescriptions
1 parent 16b7091 commit c5c28d5

File tree

2 files changed

+463
-3
lines changed

2 files changed

+463
-3
lines changed

discovery/cloudkms-v1.json

Lines changed: 114 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,32 @@
167167
"https://www.googleapis.com/auth/cloudkms"
168168
]
169169
},
170+
"getEkmConfig": {
171+
"description": "Returns the EkmConfig singleton resource for a given project and location.",
172+
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConfig",
173+
"httpMethod": "GET",
174+
"id": "cloudkms.projects.locations.getEkmConfig",
175+
"parameterOrder": [
176+
"name"
177+
],
178+
"parameters": {
179+
"name": {
180+
"description": "Required. The name of the EkmConfig to get.",
181+
"location": "path",
182+
"pattern": "^projects/[^/]+/locations/[^/]+/ekmConfig$",
183+
"required": true,
184+
"type": "string"
185+
}
186+
},
187+
"path": "v1/{+name}",
188+
"response": {
189+
"$ref": "EkmConfig"
190+
},
191+
"scopes": [
192+
"https://www.googleapis.com/auth/cloud-platform",
193+
"https://www.googleapis.com/auth/cloudkms"
194+
]
195+
},
170196
"list": {
171197
"description": "Lists information about the supported locations for this service.",
172198
"flatPath": "v1/projects/{projectsId}/locations",
@@ -208,6 +234,41 @@
208234
"https://www.googleapis.com/auth/cloud-platform",
209235
"https://www.googleapis.com/auth/cloudkms"
210236
]
237+
},
238+
"updateEkmConfig": {
239+
"description": "Updates the EkmConfig singleton resource for a given project and location.",
240+
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ekmConfig",
241+
"httpMethod": "PATCH",
242+
"id": "cloudkms.projects.locations.updateEkmConfig",
243+
"parameterOrder": [
244+
"name"
245+
],
246+
"parameters": {
247+
"name": {
248+
"description": "Output only. The resource name for the EkmConfig in the format `projects/*/locations/*/ekmConfig`.",
249+
"location": "path",
250+
"pattern": "^projects/[^/]+/locations/[^/]+/ekmConfig$",
251+
"required": true,
252+
"type": "string"
253+
},
254+
"updateMask": {
255+
"description": "Required. List of fields to be updated in this request.",
256+
"format": "google-fieldmask",
257+
"location": "query",
258+
"type": "string"
259+
}
260+
},
261+
"path": "v1/{+name}",
262+
"request": {
263+
"$ref": "EkmConfig"
264+
},
265+
"response": {
266+
"$ref": "EkmConfig"
267+
},
268+
"scopes": [
269+
"https://www.googleapis.com/auth/cloud-platform",
270+
"https://www.googleapis.com/auth/cloudkms"
271+
]
211272
}
212273
},
213274
"resources": {
@@ -1676,7 +1737,7 @@
16761737
}
16771738
}
16781739
},
1679-
"revision": "20230127",
1740+
"revision": "20230310",
16801741
"rootUrl": "https://cloudkms.googleapis.com/",
16811742
"schemas": {
16821743
"AsymmetricDecryptRequest": {
@@ -2132,6 +2193,11 @@
21322193
"readOnly": true,
21332194
"type": "string"
21342195
},
2196+
"externalDestructionFailureReason": {
2197+
"description": "Output only. The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.",
2198+
"readOnly": true,
2199+
"type": "string"
2200+
},
21352201
"externalProtectionLevelOptions": {
21362202
"$ref": "ExternalProtectionLevelOptions",
21372203
"description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels."
@@ -2142,6 +2208,11 @@
21422208
"readOnly": true,
21432209
"type": "string"
21442210
},
2211+
"generationFailureReason": {
2212+
"description": "Output only. The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.",
2213+
"readOnly": true,
2214+
"type": "string"
2215+
},
21452216
"importFailureReason": {
21462217
"description": "Output only. The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.",
21472218
"readOnly": true,
@@ -2197,7 +2268,10 @@
21972268
"DESTROYED",
21982269
"DESTROY_SCHEDULED",
21992270
"PENDING_IMPORT",
2200-
"IMPORT_FAILED"
2271+
"IMPORT_FAILED",
2272+
"GENERATION_FAILED",
2273+
"PENDING_EXTERNAL_DESTRUCTION",
2274+
"EXTERNAL_DESTRUCTION_FAILED"
22012275
],
22022276
"enumDescriptions": [
22032277
"Not specified.",
@@ -2207,7 +2281,10 @@
22072281
"This version is destroyed, and the key material is no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.",
22082282
"This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state.",
22092283
"This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.",
2210-
"This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason."
2284+
"This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason.",
2285+
"This version was not generated successfully. It may not be used, enabled, disabled, or destroyed. Additional details can be found in CryptoKeyVersion.generation_failure_reason.",
2286+
"This version was destroyed, and it may not be used or enabled again. Cloud KMS is waiting for the corresponding key material residing in an external key manager to be destroyed.",
2287+
"This version was destroyed, and it may not be used or enabled again. However, Cloud KMS could not confirm that the corresponding key material residing in an external key manager was destroyed. Additional details can be found in CryptoKeyVersion.external_destruction_failure_reason."
22112288
],
22122289
"type": "string"
22132290
}
@@ -2399,6 +2476,22 @@
23992476
},
24002477
"type": "object"
24012478
},
2479+
"EkmConfig": {
2480+
"description": "An EkmConfig is a singleton resource that represents configuration parameters that apply to all CryptoKeys and CryptoKeyVersions with a ProtectionLevel of EXTERNAL_VPC in a given project and location.",
2481+
"id": "EkmConfig",
2482+
"properties": {
2483+
"defaultEkmConnection": {
2484+
"description": "Optional. Resource name of the default EkmConnection. Setting this field to the empty string removes the default.",
2485+
"type": "string"
2486+
},
2487+
"name": {
2488+
"description": "Output only. The resource name for the EkmConfig in the format `projects/*/locations/*/ekmConfig`.",
2489+
"readOnly": true,
2490+
"type": "string"
2491+
}
2492+
},
2493+
"type": "object"
2494+
},
24022495
"EkmConnection": {
24032496
"description": "An EkmConnection represents an individual EKM connection. It can be used for creating CryptoKeys and CryptoKeyVersions with a ProtectionLevel of EXTERNAL_VPC, as well as performing cryptographic operations using keys created within the EkmConnection.",
24042497
"id": "EkmConnection",
@@ -2409,10 +2502,28 @@
24092502
"readOnly": true,
24102503
"type": "string"
24112504
},
2505+
"cryptoSpacePath": {
2506+
"description": "Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.",
2507+
"type": "string"
2508+
},
24122509
"etag": {
24132510
"description": "Optional. Etag of the currently stored EkmConnection.",
24142511
"type": "string"
24152512
},
2513+
"keyManagementMode": {
2514+
"description": "Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL.",
2515+
"enum": [
2516+
"KEY_MANAGEMENT_MODE_UNSPECIFIED",
2517+
"MANUAL",
2518+
"CLOUD_KMS"
2519+
],
2520+
"enumDescriptions": [
2521+
"Not specified.",
2522+
"EKM-side key management operations on CryptoKeys created with this EkmConnection must be initiated from the EKM directly and cannot be performed from Cloud KMS. This means that: * When creating a CryptoKeyVersion associated with this EkmConnection, the caller must supply the key path of pre-existing external key material that will be linked to the CryptoKeyVersion. * Destruction of external key material cannot be requested via the Cloud KMS API and must be performed directly in the EKM. * Automatic rotation of key material is not supported.",
2523+
"All CryptoKeys created with this EkmConnection use EKM-side key management operations initiated from Cloud KMS. This means that: * When a CryptoKeyVersion associated with this EkmConnection is created, the EKM automatically generates new key material and a new key path. The caller cannot supply the key path of pre-existing external key material. * Destruction of external key material associated with this EkmConnection can be requested by calling DestroyCryptoKeyVersion. * Automatic rotation of key material is supported."
2524+
],
2525+
"type": "string"
2526+
},
24162527
"name": {
24172528
"description": "Output only. The resource name for the EkmConnection in the format `projects/*/locations/*/ekmConnections/*`.",
24182529
"readOnly": true,

0 commit comments

Comments
 (0)