@swamp/gcp/cloudkms
v2026.04.23.1
Google Cloud cloudkms infrastructure models
Repository
https://github.com/systeminit/swamp-extensions
Labels
gcpgoogle-cloudcloudkmscloudinfrastructure
Contents
Quality score
Verified by SwampHow well-documented and verifiable this extension is.
Grade A
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types1/1earned
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared1/1earned
- Verified public repository2/2earned
Install
$ swamp extension pull @swamp/gcp/cloudkms@swamp/gcp/cloudkms/ekmconnectionsv2026.04.23.1ekmconnections.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| cryptoSpacePath? | string | Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS. |
| keyManagementMode? | enum | Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL. |
| serviceResolvers? | array | Optional. A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported. |
| ekmConnectionId? | string | Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a ekmConnections
getGet a ekmConnections
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the ekmConnections |
updateUpdate ekmConnections attributes
syncSync ekmConnections state from GCP
verify_connectivityverify connectivity
Resources
state(infinite)— An EkmConnection represents an individual EKM connection. It can be used for ...
@swamp/gcp/cloudkms/keyhandlesv2026.04.23.1keyhandles.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name? | string | Identifier. Name of the KeyHandle resource, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`. |
| resourceTypeSelector? | string | Required. Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. `{SERVICE}.googleapis.com/{TYPE}`. See documentation for supported resource types. |
| keyHandleId? | string | Optional. Id of the KeyHandle. Must be unique to the resource project and location. If not provided by the caller, a new UUID is used. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a keyHandles
getGet a keyHandles
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the keyHandles |
syncSync keyHandles state from GCP
Resources
state(infinite)— Resource-oriented representation of a request to Cloud KMS Autokey and the re...
@swamp/gcp/cloudkms/keyringsv2026.04.23.1keyrings.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| keyRingId? | string | Required. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}` |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a keyRings
getGet a keyRings
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the keyRings |
syncSync keyRings state from GCP
Resources
state(infinite)— A KeyRing is a toplevel logical grouping of CryptoKeys.
@swamp/gcp/cloudkms/keyrings-cryptokeysv2026.04.23.1keyrings_cryptokeys.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| cryptoKeyBackend? | string | Immutable. The resource name of the backend environment where the key material for all CryptoKeyVersions associated with this CryptoKey reside and where all related cryptographic operations are performed. Only applicable if CryptoKeyVersions have a ProtectionLevel of EXTERNAL_VPC, with the resource name in the format `projects/*/locations/*/ekmConnections/*`. Only applicable if CryptoKeyVersions have a ProtectionLevel of HSM_SINGLE_TENANT, with the resource name in the format `projects/*/locatio |
| destroyScheduledDuration? | string | Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 30 days. |
| importOnly? | boolean | Immutable. Whether this key may contain imported versions only. |
| keyAccessJustificationsPolicy? | object | A KeyAccessJustificationsPolicy specifies zero or more allowed AccessReason values for encrypt, decrypt, and sign operations on a CryptoKey or KeyAccessJustificationsPolicyConfig (the default Key Access Justifications policy). |
| labels? | record | Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). |
| nextRotationTime? | string | At next_rotation_time, the Key Management Service will automatically: 1. Create a new version of this CryptoKey. 2. Mark the new version as primary. Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. |
| primary? | object | A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for cryptographic operations. For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS. |
| purpose? | enum | Immutable. The immutable purpose of this CryptoKey. |
| rotationPeriod? | string | next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours. If rotation_period is set, next_rotation_time must also be set. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. |
| versionTemplate? | object | A CryptoKeyVersionTemplate specifies the properties to use when creating a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically as a result of auto-rotation. |
| cryptoKeyId? | string | Required. It must be unique within a KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}` |
| skipInitialVersionCreation? | string | If set to true, the request will create a CryptoKey without any CryptoKeyVersions. You must manually call CreateCryptoKeyVersion or ImportCryptoKeyVersion before you can use this CryptoKey. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a cryptoKeys
getGet a cryptoKeys
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the cryptoKeys |
updateUpdate cryptoKeys attributes
deleteDelete the cryptoKeys
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the cryptoKeys |
syncSync cryptoKeys state from GCP
decryptdecrypt
| Argument | Type | Description |
|---|---|---|
| additionalAuthenticatedData? | any | |
| additionalAuthenticatedDataCrc32c? | any | |
| ciphertext? | any | |
| ciphertextCrc32c? | any |
encryptencrypt
| Argument | Type | Description |
|---|---|---|
| additionalAuthenticatedData? | any | |
| additionalAuthenticatedDataCrc32c? | any | |
| plaintext? | any | |
| plaintextCrc32c? | any |
update_primary_versionupdate primary version
| Argument | Type | Description |
|---|---|---|
| cryptoKeyVersionId? | any |
Resources
state(infinite)— A CryptoKey represents a logical key that can be used for cryptographic opera...
@swamp/gcp/cloudkms/keyrings-cryptokeys-cryptokeyversionsv2026.04.23.1keyrings_cryptokeys_cryptokeyversions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| attestation? | object | Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key). |
| externalProtectionLevelOptions? | object | ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels. |
| state? | enum | The current state of the CryptoKeyVersion. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a cryptoKeyVersions
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a cryptoKeyVersions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the cryptoKeyVersions |
updateUpdate cryptoKeyVersions attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
deleteDelete the cryptoKeyVersions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the cryptoKeyVersions |
syncSync cryptoKeyVersions state from GCP
asymmetric_decryptasymmetric decrypt
| Argument | Type | Description |
|---|---|---|
| ciphertext? | any | |
| ciphertextCrc32c? | any |
asymmetric_signasymmetric sign
| Argument | Type | Description |
|---|---|---|
| data? | any | |
| dataCrc32c? | any | |
| digest? | any | |
| digestCrc32c? | any |
decapsulatedecapsulate
| Argument | Type | Description |
|---|---|---|
| ciphertext? | any | |
| ciphertextCrc32c? | any |
destroydestroy
get_public_keyget public key
importimport
| Argument | Type | Description |
|---|---|---|
| algorithm? | any | |
| cryptoKeyVersion? | any | |
| importJob? | any | |
| rsaAesWrappedKey? | any | |
| wrappedKey? | any |
mac_signmac sign
| Argument | Type | Description |
|---|---|---|
| data? | any | |
| dataCrc32c? | any |
mac_verifymac verify
| Argument | Type | Description |
|---|---|---|
| data? | any | |
| dataCrc32c? | any | |
| mac? | any | |
| macCrc32c? | any |
raw_decryptraw decrypt
| Argument | Type | Description |
|---|---|---|
| additionalAuthenticatedData? | any | |
| additionalAuthenticatedDataCrc32c? | any | |
| ciphertext? | any | |
| ciphertextCrc32c? | any | |
| initializationVector? | any | |
| initializationVectorCrc32c? | any | |
| tagLength? | any |
raw_encryptraw encrypt
| Argument | Type | Description |
|---|---|---|
| additionalAuthenticatedData? | any | |
| additionalAuthenticatedDataCrc32c? | any | |
| initializationVector? | any | |
| initializationVectorCrc32c? | any | |
| plaintext? | any | |
| plaintextCrc32c? | any |
restorerestore
Resources
state(infinite)— A CryptoKeyVersion represents an individual cryptographic key, and the associ...
@swamp/gcp/cloudkms/keyrings-importjobsv2026.04.23.1keyrings_importjobs.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| attestation? | object | Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key). |
| cryptoKeyBackend? | string | Immutable. The resource name of the backend environment where the key material for the wrapping key resides and where all related cryptographic operations are performed. Currently, this field is only populated for keys stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future. Supported resources: * `"projects/*/locations/*/singleTenantHsmInstances/*"` |
| importMethod? | enum | Required. Immutable. The wrapping method to be used for incoming key material. |
| protectionLevel? | enum | Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. |
| publicKey? | object | The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. |
| importJobId? | string | Required. It must be unique within a KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}` |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a importJobs
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a importJobs
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the importJobs |
syncSync importJobs state from GCP
Resources
state(infinite)— An ImportJob can be used to create CryptoKeys and CryptoKeyVersions using pre...
@swamp/gcp/cloudkms/locationsv2026.04.23.1locations.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
getGet a locations
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the locations |
syncSync locations state from GCP
generate_random_bytesgenerate random bytes
| Argument | Type | Description |
|---|---|---|
| lengthBytes? | any | |
| protectionLevel? | any |
get_ekm_configget ekm config
update_ekm_configupdate ekm config
| Argument | Type | Description |
|---|---|---|
| defaultEkmConnection? | any | |
| name? | any |
Resources
state(infinite)— A resource that represents a Google Cloud location.
@swamp/gcp/cloudkms/retiredresourcesv2026.04.23.1retiredresources.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
getGet a retiredResources
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the retiredResources |
syncSync retiredResources state from GCP
Resources
state(infinite)— A RetiredResource resource represents the record of a deleted CryptoKey. Its ...
@swamp/gcp/cloudkms/singletenanthsminstancesv2026.04.23.1singletenanthsminstances.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| keyPortabilityEnabled? | boolean | Optional. Immutable. Indicates whether key portability is enabled for the SingleTenantHsmInstance. This can only be set at creation time. Key portability features are disabled by default and not yet available in GA. |
| name? | string | Identifier. The resource name for this SingleTenantHsmInstance in the format `projects/*/locations/*/singleTenantHsmInstances/*`. |
| quorumAuth? | object | Configuration for M of N quorum auth. |
| singleTenantHsmInstanceId? | string | Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a singleTenantHsmInstances
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a singleTenantHsmInstances
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the singleTenantHsmInstances |
syncSync singleTenantHsmInstances state from GCP
Resources
state(infinite)— A SingleTenantHsmInstance represents a single-tenant HSM instance. It can be ...
@swamp/gcp/cloudkms/singletenanthsminstances-proposalsv2026.04.23.1singletenanthsminstances_proposals.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| addQuorumMember? | object | Add a quorum member to the SingleTenantHsmInstance. This will increase the total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. |
| deleteSingleTenantHsmInstance? | object | Delete the SingleTenantHsmInstance. Deleting a SingleTenantHsmInstance will make all CryptoKeys attached to the SingleTenantHsmInstance unusable. The SingleTenantHsmInstance must not be in the DELETING or DELETED state to perform this operation. |
| disableSingleTenantHsmInstance? | object | Disable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. |
| enableSingleTenantHsmInstance? | object | Enable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the DISABLED state to perform this operation. |
| expireTime? | string | The time at which the SingleTenantHsmInstanceProposal will expire if not approved and executed. |
| name? | string | Identifier. The resource name for this SingleTenantHsmInstance in the format `projects/*/locations/*/singleTenantHsmInstances/*/proposals/*`. |
| quorumParameters? | object | Parameters of quorum approval for the SingleTenantHsmInstanceProposal. |
| refreshSingleTenantHsmInstance? | object | Refreshes the SingleTenantHsmInstance. This operation must be performed periodically to keep the SingleTenantHsmInstance active. This operation must be performed before unrefreshed_duration_until_disable has passed. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. |
| registerTwoFactorAuthKeys? | object | Register 2FA keys for the SingleTenantHsmInstance. This operation requires all Challenges to be signed by 2FA keys. The SingleTenantHsmInstance must be in the PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation. |
| removeQuorumMember? | object | Remove a quorum member from the SingleTenantHsmInstance. This will reduce total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. |
| requiredActionQuorumParameters? | object | Parameters for an approval that has both required challenges and a quorum. |
| ttl? | string | Input only. The TTL for the SingleTenantHsmInstanceProposal. Proposals will expire after this duration. |
| singleTenantHsmInstanceProposalId? | string | Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a proposals
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a proposals
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the proposals |
deleteDelete the proposals
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the proposals |
syncSync proposals state from GCP
approveapprove
| Argument | Type | Description |
|---|---|---|
| quorumReply? | any | |
| requiredActionQuorumReply? | any |
executeexecute
Resources
state(infinite)— A SingleTenantHsmInstanceProposal represents a proposal to perform an operati...
2026.04.16.154.3 KBApr 16, 2026
Google Cloud cloudkms infrastructure models
Release Notes
- Updated: singletenanthsminstances
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure
2026.04.04.154.6 KBApr 4, 2026
Google Cloud cloudkms infrastructure models
Release Notes
- Updated: ekmconnections
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure
2026.04.03.354.4 KBApr 3, 2026
Google Cloud cloudkms infrastructure models
Release Notes
- Updated: locations, ekmconnections, keyhandles, keyrings, keyrings_cryptokeys, keyrings_cryptokeys_cryptokeyversions, keyrings_importjobs, retiredresources, singletenanthsminstances, singletenanthsminstances_proposals
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure
2026.04.03.153.9 KBApr 3, 2026
Google Cloud cloudkms infrastructure models
Release Notes
- Updated: locations, ekmconnections, keyhandles, keyrings, keyrings_cryptokeys, keyrings_cryptokeys_cryptokeyversions, keyrings_importjobs, retiredresources, singletenanthsminstances, singletenanthsminstances_proposals
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure
2026.04.02.253.8 KBApr 2, 2026
Google Cloud cloudkms infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure
2026.03.27.153.8 KBMar 27, 2026
Google Cloud cloudkms infrastructure models
Release Notes
- Added: locations, ekmconnections, keyhandles, keyrings, keyrings_cryptokeys, keyrings_cryptokeys_cryptokeyversions, keyrings_importjobs, retiredresources, singletenanthsminstances, singletenanthsminstances_proposals
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudcloudkmscloudinfrastructure