Google Cloud Native is in preview. Google Cloud Classic is fully supported.
google-native.cloudkms/v1.CryptoKey
Explore with Pulumi AI
Google Cloud Native is in preview. Google Cloud Classic is fully supported.
Create a new CryptoKey within a KeyRing. CryptoKey.purpose and CryptoKey.version_template.algorithm are required. Note - this resource’s API doesn’t support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.
Create CryptoKey Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CryptoKey(name: string, args: CryptoKeyArgs, opts?: CustomResourceOptions);@overload
def CryptoKey(resource_name: str,
              args: CryptoKeyArgs,
              opts: Optional[ResourceOptions] = None)
@overload
def CryptoKey(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              key_ring_id: Optional[str] = None,
              location: Optional[str] = None,
              destroy_scheduled_duration: Optional[str] = None,
              import_only: Optional[bool] = None,
              crypto_key_id: Optional[str] = None,
              labels: Optional[Mapping[str, str]] = None,
              crypto_key_backend: Optional[str] = None,
              next_rotation_time: Optional[str] = None,
              project: Optional[str] = None,
              purpose: Optional[CryptoKeyPurpose] = None,
              rotation_period: Optional[str] = None,
              skip_initial_version_creation: Optional[bool] = None,
              version_template: Optional[CryptoKeyVersionTemplateArgs] = None)func NewCryptoKey(ctx *Context, name string, args CryptoKeyArgs, opts ...ResourceOption) (*CryptoKey, error)public CryptoKey(string name, CryptoKeyArgs args, CustomResourceOptions? opts = null)
public CryptoKey(String name, CryptoKeyArgs args)
public CryptoKey(String name, CryptoKeyArgs args, CustomResourceOptions options)
type: google-native:cloudkms/v1:CryptoKey
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args CryptoKeyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CryptoKeyArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CryptoKeyArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CryptoKeyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CryptoKeyArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var cryptoKeyResource = new GoogleNative.Cloudkms.V1.CryptoKey("cryptoKeyResource", new()
{
    KeyRingId = "string",
    Location = "string",
    DestroyScheduledDuration = "string",
    ImportOnly = false,
    CryptoKeyId = "string",
    Labels = 
    {
        { "string", "string" },
    },
    CryptoKeyBackend = "string",
    NextRotationTime = "string",
    Project = "string",
    Purpose = GoogleNative.Cloudkms.V1.CryptoKeyPurpose.CryptoKeyPurposeUnspecified,
    RotationPeriod = "string",
    SkipInitialVersionCreation = false,
    VersionTemplate = new GoogleNative.Cloudkms.V1.Inputs.CryptoKeyVersionTemplateArgs
    {
        Algorithm = GoogleNative.Cloudkms.V1.CryptoKeyVersionTemplateAlgorithm.CryptoKeyVersionAlgorithmUnspecified,
        ProtectionLevel = GoogleNative.Cloudkms.V1.CryptoKeyVersionTemplateProtectionLevel.ProtectionLevelUnspecified,
    },
});
example, err := cloudkms.NewCryptoKey(ctx, "cryptoKeyResource", &cloudkms.CryptoKeyArgs{
	KeyRingId:                pulumi.String("string"),
	Location:                 pulumi.String("string"),
	DestroyScheduledDuration: pulumi.String("string"),
	ImportOnly:               pulumi.Bool(false),
	CryptoKeyId:              pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	CryptoKeyBackend:           pulumi.String("string"),
	NextRotationTime:           pulumi.String("string"),
	Project:                    pulumi.String("string"),
	Purpose:                    cloudkms.CryptoKeyPurposeCryptoKeyPurposeUnspecified,
	RotationPeriod:             pulumi.String("string"),
	SkipInitialVersionCreation: pulumi.Bool(false),
	VersionTemplate: &cloudkms.CryptoKeyVersionTemplateArgs{
		Algorithm:       cloudkms.CryptoKeyVersionTemplateAlgorithmCryptoKeyVersionAlgorithmUnspecified,
		ProtectionLevel: cloudkms.CryptoKeyVersionTemplateProtectionLevelProtectionLevelUnspecified,
	},
})
var cryptoKeyResource = new CryptoKey("cryptoKeyResource", CryptoKeyArgs.builder()
    .keyRingId("string")
    .location("string")
    .destroyScheduledDuration("string")
    .importOnly(false)
    .cryptoKeyId("string")
    .labels(Map.of("string", "string"))
    .cryptoKeyBackend("string")
    .nextRotationTime("string")
    .project("string")
    .purpose("CRYPTO_KEY_PURPOSE_UNSPECIFIED")
    .rotationPeriod("string")
    .skipInitialVersionCreation(false)
    .versionTemplate(CryptoKeyVersionTemplateArgs.builder()
        .algorithm("CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED")
        .protectionLevel("PROTECTION_LEVEL_UNSPECIFIED")
        .build())
    .build());
crypto_key_resource = google_native.cloudkms.v1.CryptoKey("cryptoKeyResource",
    key_ring_id="string",
    location="string",
    destroy_scheduled_duration="string",
    import_only=False,
    crypto_key_id="string",
    labels={
        "string": "string",
    },
    crypto_key_backend="string",
    next_rotation_time="string",
    project="string",
    purpose=google_native.cloudkms.v1.CryptoKeyPurpose.CRYPTO_KEY_PURPOSE_UNSPECIFIED,
    rotation_period="string",
    skip_initial_version_creation=False,
    version_template={
        "algorithm": google_native.cloudkms.v1.CryptoKeyVersionTemplateAlgorithm.CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED,
        "protection_level": google_native.cloudkms.v1.CryptoKeyVersionTemplateProtectionLevel.PROTECTION_LEVEL_UNSPECIFIED,
    })
const cryptoKeyResource = new google_native.cloudkms.v1.CryptoKey("cryptoKeyResource", {
    keyRingId: "string",
    location: "string",
    destroyScheduledDuration: "string",
    importOnly: false,
    cryptoKeyId: "string",
    labels: {
        string: "string",
    },
    cryptoKeyBackend: "string",
    nextRotationTime: "string",
    project: "string",
    purpose: google_native.cloudkms.v1.CryptoKeyPurpose.CryptoKeyPurposeUnspecified,
    rotationPeriod: "string",
    skipInitialVersionCreation: false,
    versionTemplate: {
        algorithm: google_native.cloudkms.v1.CryptoKeyVersionTemplateAlgorithm.CryptoKeyVersionAlgorithmUnspecified,
        protectionLevel: google_native.cloudkms.v1.CryptoKeyVersionTemplateProtectionLevel.ProtectionLevelUnspecified,
    },
});
type: google-native:cloudkms/v1:CryptoKey
properties:
    cryptoKeyBackend: string
    cryptoKeyId: string
    destroyScheduledDuration: string
    importOnly: false
    keyRingId: string
    labels:
        string: string
    location: string
    nextRotationTime: string
    project: string
    purpose: CRYPTO_KEY_PURPOSE_UNSPECIFIED
    rotationPeriod: string
    skipInitialVersionCreation: false
    versionTemplate:
        algorithm: CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
        protectionLevel: PROTECTION_LEVEL_UNSPECIFIED
CryptoKey Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The CryptoKey resource accepts the following input properties:
- KeyRing stringId 
- CryptoKey stringBackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- CryptoKey stringId 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- DestroyScheduled stringDuration 
- 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 24 hours.
- ImportOnly bool
- Immutable. Whether this key may contain imported versions only.
- Labels Dictionary<string, string>
- Labels with user-defined metadata. For more information, see Labeling Keys.
- Location string
- NextRotation stringTime 
- 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.
- Project string
- Purpose
Pulumi.Google Native. Cloudkms. V1. Crypto Key Purpose 
- 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.
- SkipInitial boolVersion Creation 
- 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.
- VersionTemplate Pulumi.Google Native. Cloudkms. V1. Inputs. Crypto Key Version Template 
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
- KeyRing stringId 
- CryptoKey stringBackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- CryptoKey stringId 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- DestroyScheduled stringDuration 
- 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 24 hours.
- ImportOnly bool
- Immutable. Whether this key may contain imported versions only.
- Labels map[string]string
- Labels with user-defined metadata. For more information, see Labeling Keys.
- Location string
- NextRotation stringTime 
- 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.
- Project string
- Purpose
CryptoKey Purpose 
- 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.
- SkipInitial boolVersion Creation 
- 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.
- VersionTemplate CryptoKey Version Template Args 
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
- keyRing StringId 
- cryptoKey StringBackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- cryptoKey StringId 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- destroyScheduled StringDuration 
- 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 24 hours.
- importOnly Boolean
- Immutable. Whether this key may contain imported versions only.
- labels Map<String,String>
- Labels with user-defined metadata. For more information, see Labeling Keys.
- location String
- nextRotation StringTime 
- 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.
- project String
- purpose
CryptoKey Purpose 
- 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.
- skipInitial BooleanVersion Creation 
- 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.
- versionTemplate CryptoKey Version Template 
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
- keyRing stringId 
- cryptoKey stringBackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- cryptoKey stringId 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- destroyScheduled stringDuration 
- 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 24 hours.
- importOnly boolean
- Immutable. Whether this key may contain imported versions only.
- labels {[key: string]: string}
- Labels with user-defined metadata. For more information, see Labeling Keys.
- location string
- nextRotation stringTime 
- 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.
- project string
- purpose
CryptoKey Purpose 
- 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.
- skipInitial booleanVersion Creation 
- 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.
- versionTemplate CryptoKey Version Template 
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
- key_ring_ strid 
- crypto_key_ strbackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- crypto_key_ strid 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- destroy_scheduled_ strduration 
- 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 24 hours.
- import_only bool
- Immutable. Whether this key may contain imported versions only.
- labels Mapping[str, str]
- Labels with user-defined metadata. For more information, see Labeling Keys.
- location str
- next_rotation_ strtime 
- 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.
- project str
- purpose
CryptoKey Purpose 
- Immutable. The immutable purpose of this CryptoKey.
- rotation_period str
- 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.
- skip_initial_ boolversion_ creation 
- 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.
- version_template CryptoKey Version Template Args 
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
- keyRing StringId 
- cryptoKey StringBackend 
- 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/*. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future.
- cryptoKey StringId 
- Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}
- destroyScheduled StringDuration 
- 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 24 hours.
- importOnly Boolean
- Immutable. Whether this key may contain imported versions only.
- labels Map<String>
- Labels with user-defined metadata. For more information, see Labeling Keys.
- location String
- nextRotation StringTime 
- 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.
- project String
- purpose "CRYPTO_KEY_PURPOSE_UNSPECIFIED" | "ENCRYPT_DECRYPT" | "ASYMMETRIC_SIGN" | "ASYMMETRIC_DECRYPT" | "RAW_ENCRYPT_DECRYPT" | "MAC"
- 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.
- skipInitial BooleanVersion Creation 
- 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.
- versionTemplate Property Map
- A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.
Outputs
All input properties are implicitly available as output properties. Additionally, the CryptoKey resource produces the following output properties:
- CreateTime string
- The time at which this CryptoKey was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- Primary
Pulumi.Google Native. Cloudkms. V1. Outputs. Crypto Key Version Response 
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
- CreateTime string
- The time at which this CryptoKey was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- Primary
CryptoKey Version Response 
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
- createTime String
- The time at which this CryptoKey was created.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- primary
CryptoKey Version Response 
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
- createTime string
- The time at which this CryptoKey was created.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- primary
CryptoKey Version Response 
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
- create_time str
- The time at which this CryptoKey was created.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- primary
CryptoKey Version Response 
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
- createTime String
- The time at which this CryptoKey was created.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name for this CryptoKey in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.
- primary Property Map
- A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name. The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion. Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be omitted.
Supporting Types
CertificateChainsResponse, CertificateChainsResponseArgs      
- CaviumCerts List<string>
- Cavium certificate chain corresponding to the attestation.
- GoogleCard List<string>Certs 
- Google card certificate chain corresponding to the attestation.
- GooglePartition List<string>Certs 
- Google partition certificate chain corresponding to the attestation.
- CaviumCerts []string
- Cavium certificate chain corresponding to the attestation.
- GoogleCard []stringCerts 
- Google card certificate chain corresponding to the attestation.
- GooglePartition []stringCerts 
- Google partition certificate chain corresponding to the attestation.
- caviumCerts List<String>
- Cavium certificate chain corresponding to the attestation.
- googleCard List<String>Certs 
- Google card certificate chain corresponding to the attestation.
- googlePartition List<String>Certs 
- Google partition certificate chain corresponding to the attestation.
- caviumCerts string[]
- Cavium certificate chain corresponding to the attestation.
- googleCard string[]Certs 
- Google card certificate chain corresponding to the attestation.
- googlePartition string[]Certs 
- Google partition certificate chain corresponding to the attestation.
- cavium_certs Sequence[str]
- Cavium certificate chain corresponding to the attestation.
- google_card_ Sequence[str]certs 
- Google card certificate chain corresponding to the attestation.
- google_partition_ Sequence[str]certs 
- Google partition certificate chain corresponding to the attestation.
- caviumCerts List<String>
- Cavium certificate chain corresponding to the attestation.
- googleCard List<String>Certs 
- Google card certificate chain corresponding to the attestation.
- googlePartition List<String>Certs 
- Google partition certificate chain corresponding to the attestation.
CryptoKeyPurpose, CryptoKeyPurposeArgs      
- CryptoKey Purpose Unspecified 
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- EncryptDecrypt 
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- AsymmetricSign 
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- AsymmetricDecrypt 
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- RawEncrypt Decrypt 
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- Mac
- MACCryptoKeys with this purpose may be used with MacSign.
- CryptoKey Purpose Crypto Key Purpose Unspecified 
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- CryptoKey Purpose Encrypt Decrypt 
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- CryptoKey Purpose Asymmetric Sign 
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- CryptoKey Purpose Asymmetric Decrypt 
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- CryptoKey Purpose Raw Encrypt Decrypt 
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- CryptoKey Purpose Mac 
- MACCryptoKeys with this purpose may be used with MacSign.
- CryptoKey Purpose Unspecified 
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- EncryptDecrypt 
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- AsymmetricSign 
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- AsymmetricDecrypt 
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- RawEncrypt Decrypt 
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- Mac
- MACCryptoKeys with this purpose may be used with MacSign.
- CryptoKey Purpose Unspecified 
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- EncryptDecrypt 
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- AsymmetricSign 
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- AsymmetricDecrypt 
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- RawEncrypt Decrypt 
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- Mac
- MACCryptoKeys with this purpose may be used with MacSign.
- CRYPTO_KEY_PURPOSE_UNSPECIFIED
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- ENCRYPT_DECRYPT
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- ASYMMETRIC_SIGN
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- ASYMMETRIC_DECRYPT
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- RAW_ENCRYPT_DECRYPT
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- MAC
- MACCryptoKeys with this purpose may be used with MacSign.
- "CRYPTO_KEY_PURPOSE_UNSPECIFIED"
- CRYPTO_KEY_PURPOSE_UNSPECIFIEDNot specified.
- "ENCRYPT_DECRYPT"
- ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with Encrypt and Decrypt.
- "ASYMMETRIC_SIGN"
- ASYMMETRIC_SIGNCryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.
- "ASYMMETRIC_DECRYPT"
- ASYMMETRIC_DECRYPTCryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.
- "RAW_ENCRYPT_DECRYPT"
- RAW_ENCRYPT_DECRYPTCryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.
- "MAC"
- MACCryptoKeys with this purpose may be used with MacSign.
CryptoKeyVersionResponse, CryptoKeyVersionResponseArgs        
- Algorithm string
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- Attestation
Pulumi.Google Native. Cloudkms. V1. Inputs. Key Operation Attestation Response 
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- CreateTime string
- The time at which this CryptoKeyVersion was created.
- DestroyEvent stringTime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- DestroyTime string
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- ExternalDestruction stringFailure Reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- ExternalProtection Pulumi.Level Options Google Native. Cloudkms. V1. Inputs. External Protection Level Options Response 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- GenerateTime string
- The time this CryptoKeyVersion's key material was generated.
- GenerationFailure stringReason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- ImportFailure stringReason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- ImportJob string
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- ImportTime string
- The time at which this CryptoKeyVersion's key material was most recently imported.
- Name string
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- ProtectionLevel string
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- ReimportEligible bool
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- State string
- The current state of the CryptoKeyVersion.
- Algorithm string
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- Attestation
KeyOperation Attestation Response 
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- CreateTime string
- The time at which this CryptoKeyVersion was created.
- DestroyEvent stringTime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- DestroyTime string
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- ExternalDestruction stringFailure Reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- ExternalProtection ExternalLevel Options Protection Level Options Response 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- GenerateTime string
- The time this CryptoKeyVersion's key material was generated.
- GenerationFailure stringReason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- ImportFailure stringReason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- ImportJob string
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- ImportTime string
- The time at which this CryptoKeyVersion's key material was most recently imported.
- Name string
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- ProtectionLevel string
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- ReimportEligible bool
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- State string
- The current state of the CryptoKeyVersion.
- algorithm String
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- attestation
KeyOperation Attestation Response 
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- createTime String
- The time at which this CryptoKeyVersion was created.
- destroyEvent StringTime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- destroyTime String
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- externalDestruction StringFailure Reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- externalProtection ExternalLevel Options Protection Level Options Response 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- generateTime String
- The time this CryptoKeyVersion's key material was generated.
- generationFailure StringReason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- importFailure StringReason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- importJob String
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- importTime String
- The time at which this CryptoKeyVersion's key material was most recently imported.
- name String
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- protectionLevel String
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- reimportEligible Boolean
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- state String
- The current state of the CryptoKeyVersion.
- algorithm string
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- attestation
KeyOperation Attestation Response 
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- createTime string
- The time at which this CryptoKeyVersion was created.
- destroyEvent stringTime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- destroyTime string
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- externalDestruction stringFailure Reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- externalProtection ExternalLevel Options Protection Level Options Response 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- generateTime string
- The time this CryptoKeyVersion's key material was generated.
- generationFailure stringReason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- importFailure stringReason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- importJob string
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- importTime string
- The time at which this CryptoKeyVersion's key material was most recently imported.
- name string
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- protectionLevel string
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- reimportEligible boolean
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- state string
- The current state of the CryptoKeyVersion.
- algorithm str
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- attestation
KeyOperation Attestation Response 
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- create_time str
- The time at which this CryptoKeyVersion was created.
- destroy_event_ strtime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- destroy_time str
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- external_destruction_ strfailure_ reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- external_protection_ Externallevel_ options Protection Level Options Response 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- generate_time str
- The time this CryptoKeyVersion's key material was generated.
- generation_failure_ strreason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- import_failure_ strreason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- import_job str
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- import_time str
- The time at which this CryptoKeyVersion's key material was most recently imported.
- name str
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- protection_level str
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- reimport_eligible bool
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- state str
- The current state of the CryptoKeyVersion.
- algorithm String
- The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
- attestation Property Map
- Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.
- createTime String
- The time at which this CryptoKeyVersion was created.
- destroyEvent StringTime 
- The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.
- destroyTime String
- The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.
- externalDestruction StringFailure Reason 
- The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED.
- externalProtection Property MapLevel Options 
- ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
- generateTime String
- The time this CryptoKeyVersion's key material was generated.
- generationFailure StringReason 
- The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED.
- importFailure StringReason 
- The root cause of the most recent import failure. Only present if state is IMPORT_FAILED.
- importJob String
- The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported.
- importTime String
- The time at which this CryptoKeyVersion's key material was most recently imported.
- name String
- The resource name for this CryptoKeyVersion in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
- protectionLevel String
- The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
- reimportEligible Boolean
- Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version.
- state String
- The current state of the CryptoKeyVersion.
CryptoKeyVersionTemplate, CryptoKeyVersionTemplateArgs        
- Algorithm
Pulumi.Google Native. Cloudkms. V1. Crypto Key Version Template Algorithm 
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- ProtectionLevel Pulumi.Google Native. Cloudkms. V1. Crypto Key Version Template Protection Level 
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- Algorithm
CryptoKey Version Template Algorithm 
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- ProtectionLevel CryptoKey Version Template Protection Level 
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm
CryptoKey Version Template Algorithm 
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel CryptoKey Version Template Protection Level 
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm
CryptoKey Version Template Algorithm 
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel CryptoKey Version Template Protection Level 
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm
CryptoKey Version Template Algorithm 
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protection_level CryptoKey Version Template Protection Level 
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED" | "GOOGLE_SYMMETRIC_ENCRYPTION" | "AES_128_GCM" | "AES_256_GCM" | "AES_128_CBC" | "AES_256_CBC" | "AES_128_CTR" | "AES_256_CTR" | "RSA_SIGN_PSS_2048_SHA256" | "RSA_SIGN_PSS_3072_SHA256" | "RSA_SIGN_PSS_4096_SHA256" | "RSA_SIGN_PSS_4096_SHA512" | "RSA_SIGN_PKCS1_2048_SHA256" | "RSA_SIGN_PKCS1_3072_SHA256" | "RSA_SIGN_PKCS1_4096_SHA256" | "RSA_SIGN_PKCS1_4096_SHA512" | "RSA_SIGN_RAW_PKCS1_2048" | "RSA_SIGN_RAW_PKCS1_3072" | "RSA_SIGN_RAW_PKCS1_4096" | "RSA_DECRYPT_OAEP_2048_SHA256" | "RSA_DECRYPT_OAEP_3072_SHA256" | "RSA_DECRYPT_OAEP_4096_SHA256" | "RSA_DECRYPT_OAEP_4096_SHA512" | "RSA_DECRYPT_OAEP_2048_SHA1" | "RSA_DECRYPT_OAEP_3072_SHA1" | "RSA_DECRYPT_OAEP_4096_SHA1" | "EC_SIGN_P256_SHA256" | "EC_SIGN_P384_SHA384" | "EC_SIGN_SECP256K1_SHA256" | "HMAC_SHA256" | "HMAC_SHA1" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "EXTERNAL_SYMMETRIC_ENCRYPTION"
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel "PROTECTION_LEVEL_UNSPECIFIED" | "SOFTWARE" | "HSM" | "EXTERNAL" | "EXTERNAL_VPC"
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
CryptoKeyVersionTemplateAlgorithm, CryptoKeyVersionTemplateAlgorithmArgs          
- CryptoKey Version Algorithm Unspecified 
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- GoogleSymmetric Encryption 
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- Aes128Gcm
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- Aes256Gcm
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- Aes128Cbc
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- Aes256Cbc
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- Aes128Ctr
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- Aes256Ctr
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- RsaSign Pss2048Sha256 
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- RsaSign Pss3072Sha256 
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- RsaSign Pss4096Sha256 
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- RsaSign Pss4096Sha512 
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- RsaSign Pkcs12048Sha256 
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- RsaSign Pkcs13072Sha256 
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha256 
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha512 
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- RsaSign Raw Pkcs12048 
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- RsaSign Raw Pkcs13072 
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- RsaSign Raw Pkcs14096 
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- RsaDecrypt Oaep2048Sha256 
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- RsaDecrypt Oaep3072Sha256 
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha256 
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha512 
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- RsaDecrypt Oaep2048Sha1 
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- RsaDecrypt Oaep3072Sha1 
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- RsaDecrypt Oaep4096Sha1 
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- EcSign P256Sha256 
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign P384Sha384 
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign Secp256k1Sha256 
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- HmacSha256 
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- HmacSha1 
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- HmacSha384 
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- HmacSha512 
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- HmacSha224 
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- ExternalSymmetric Encryption 
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
- CryptoKey Version Template Algorithm Crypto Key Version Algorithm Unspecified 
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- CryptoKey Version Template Algorithm Google Symmetric Encryption 
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- CryptoKey Version Template Algorithm Aes128Gcm 
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- CryptoKey Version Template Algorithm Aes256Gcm 
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- CryptoKey Version Template Algorithm Aes128Cbc 
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- CryptoKey Version Template Algorithm Aes256Cbc 
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- CryptoKey Version Template Algorithm Aes128Ctr 
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- CryptoKey Version Template Algorithm Aes256Ctr 
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- CryptoKey Version Template Algorithm Rsa Sign Pss2048Sha256 
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pss3072Sha256 
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pss4096Sha256 
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pss4096Sha512 
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pkcs12048Sha256 
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pkcs13072Sha256 
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pkcs14096Sha256 
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Sign Pkcs14096Sha512 
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- CryptoKey Version Template Algorithm Rsa Sign Raw Pkcs12048 
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- CryptoKey Version Template Algorithm Rsa Sign Raw Pkcs13072 
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- CryptoKey Version Template Algorithm Rsa Sign Raw Pkcs14096 
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep2048Sha256 
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep3072Sha256 
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep4096Sha256 
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep4096Sha512 
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep2048Sha1 
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep3072Sha1 
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- CryptoKey Version Template Algorithm Rsa Decrypt Oaep4096Sha1 
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- CryptoKey Version Template Algorithm Ec Sign P256Sha256 
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- CryptoKey Version Template Algorithm Ec Sign P384Sha384 
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- CryptoKey Version Template Algorithm Ec Sign Secp256k1Sha256 
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- CryptoKey Version Template Algorithm Hmac Sha256 
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- CryptoKey Version Template Algorithm Hmac Sha1 
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- CryptoKey Version Template Algorithm Hmac Sha384 
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- CryptoKey Version Template Algorithm Hmac Sha512 
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- CryptoKey Version Template Algorithm Hmac Sha224 
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- CryptoKey Version Template Algorithm External Symmetric Encryption 
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
- CryptoKey Version Algorithm Unspecified 
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- GoogleSymmetric Encryption 
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- Aes128Gcm
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- Aes256Gcm
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- Aes128Cbc
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- Aes256Cbc
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- Aes128Ctr
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- Aes256Ctr
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- RsaSign Pss2048Sha256 
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- RsaSign Pss3072Sha256 
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- RsaSign Pss4096Sha256 
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- RsaSign Pss4096Sha512 
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- RsaSign Pkcs12048Sha256 
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- RsaSign Pkcs13072Sha256 
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha256 
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha512 
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- RsaSign Raw Pkcs12048 
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- RsaSign Raw Pkcs13072 
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- RsaSign Raw Pkcs14096 
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- RsaDecrypt Oaep2048Sha256 
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- RsaDecrypt Oaep3072Sha256 
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha256 
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha512 
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- RsaDecrypt Oaep2048Sha1 
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- RsaDecrypt Oaep3072Sha1 
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- RsaDecrypt Oaep4096Sha1 
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- EcSign P256Sha256 
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign P384Sha384 
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign Secp256k1Sha256 
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- HmacSha256 
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- HmacSha1 
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- HmacSha384 
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- HmacSha512 
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- HmacSha224 
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- ExternalSymmetric Encryption 
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
- CryptoKey Version Algorithm Unspecified 
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- GoogleSymmetric Encryption 
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- Aes128Gcm
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- Aes256Gcm
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- Aes128Cbc
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- Aes256Cbc
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- Aes128Ctr
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- Aes256Ctr
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- RsaSign Pss2048Sha256 
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- RsaSign Pss3072Sha256 
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- RsaSign Pss4096Sha256 
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- RsaSign Pss4096Sha512 
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- RsaSign Pkcs12048Sha256 
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- RsaSign Pkcs13072Sha256 
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha256 
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- RsaSign Pkcs14096Sha512 
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- RsaSign Raw Pkcs12048 
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- RsaSign Raw Pkcs13072 
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- RsaSign Raw Pkcs14096 
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- RsaDecrypt Oaep2048Sha256 
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- RsaDecrypt Oaep3072Sha256 
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha256 
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- RsaDecrypt Oaep4096Sha512 
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- RsaDecrypt Oaep2048Sha1 
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- RsaDecrypt Oaep3072Sha1 
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- RsaDecrypt Oaep4096Sha1 
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- EcSign P256Sha256 
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign P384Sha384 
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EcSign Secp256k1Sha256 
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- HmacSha256 
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- HmacSha1 
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- HmacSha384 
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- HmacSha512 
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- HmacSha224 
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- ExternalSymmetric Encryption 
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- GOOGLE_SYMMETRIC_ENCRYPTION
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- AES128_GCM
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- AES256_GCM
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- AES128_CBC
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- AES256_CBC
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- AES128_CTR
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- AES256_CTR
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- RSA_SIGN_PSS2048_SHA256
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- RSA_SIGN_PSS3072_SHA256
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- RSA_SIGN_PSS4096_SHA256
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- RSA_SIGN_PSS4096_SHA512
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- RSA_SIGN_PKCS12048_SHA256
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- RSA_SIGN_PKCS13072_SHA256
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- RSA_SIGN_PKCS14096_SHA256
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- RSA_SIGN_PKCS14096_SHA512
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- RSA_SIGN_RAW_PKCS12048
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- RSA_SIGN_RAW_PKCS13072
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- RSA_SIGN_RAW_PKCS14096
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- RSA_DECRYPT_OAEP2048_SHA256
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- RSA_DECRYPT_OAEP3072_SHA256
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- RSA_DECRYPT_OAEP4096_SHA256
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- RSA_DECRYPT_OAEP4096_SHA512
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- RSA_DECRYPT_OAEP2048_SHA1
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- RSA_DECRYPT_OAEP3072_SHA1
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- RSA_DECRYPT_OAEP4096_SHA1
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- EC_SIGN_P256_SHA256
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EC_SIGN_P384_SHA384
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- EC_SIGN_SECP256K1_SHA256
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- HMAC_SHA256
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- HMAC_SHA1
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- HMAC_SHA384
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- HMAC_SHA512
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- HMAC_SHA224
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- EXTERNAL_SYMMETRIC_ENCRYPTION
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
- "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED"
- CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIEDNot specified.
- "GOOGLE_SYMMETRIC_ENCRYPTION"
- GOOGLE_SYMMETRIC_ENCRYPTIONCreates symmetric encryption keys.
- "AES_128_GCM"
- AES_128_GCMAES-GCM (Galois Counter Mode) using 128-bit keys.
- "AES_256_GCM"
- AES_256_GCMAES-GCM (Galois Counter Mode) using 256-bit keys.
- "AES_128_CBC"
- AES_128_CBCAES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
- "AES_256_CBC"
- AES_256_CBCAES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
- "AES_128_CTR"
- AES_128_CTRAES-CTR (Counter Mode) using 128-bit keys.
- "AES_256_CTR"
- AES_256_CTRAES-CTR (Counter Mode) using 256-bit keys.
- "RSA_SIGN_PSS_2048_SHA256"
- RSA_SIGN_PSS_2048_SHA256RSASSA-PSS 2048 bit key with a SHA256 digest.
- "RSA_SIGN_PSS_3072_SHA256"
- RSA_SIGN_PSS_3072_SHA256RSASSA-PSS 3072 bit key with a SHA256 digest.
- "RSA_SIGN_PSS_4096_SHA256"
- RSA_SIGN_PSS_4096_SHA256RSASSA-PSS 4096 bit key with a SHA256 digest.
- "RSA_SIGN_PSS_4096_SHA512"
- RSA_SIGN_PSS_4096_SHA512RSASSA-PSS 4096 bit key with a SHA512 digest.
- "RSA_SIGN_PKCS1_2048_SHA256"
- RSA_SIGN_PKCS1_2048_SHA256RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
- "RSA_SIGN_PKCS1_3072_SHA256"
- RSA_SIGN_PKCS1_3072_SHA256RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
- "RSA_SIGN_PKCS1_4096_SHA256"
- RSA_SIGN_PKCS1_4096_SHA256RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
- "RSA_SIGN_PKCS1_4096_SHA512"
- RSA_SIGN_PKCS1_4096_SHA512RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
- "RSA_SIGN_RAW_PKCS1_2048"
- RSA_SIGN_RAW_PKCS1_2048RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
- "RSA_SIGN_RAW_PKCS1_3072"
- RSA_SIGN_RAW_PKCS1_3072RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
- "RSA_SIGN_RAW_PKCS1_4096"
- RSA_SIGN_RAW_PKCS1_4096RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
- "RSA_DECRYPT_OAEP_2048_SHA256"
- RSA_DECRYPT_OAEP_2048_SHA256RSAES-OAEP 2048 bit key with a SHA256 digest.
- "RSA_DECRYPT_OAEP_3072_SHA256"
- RSA_DECRYPT_OAEP_3072_SHA256RSAES-OAEP 3072 bit key with a SHA256 digest.
- "RSA_DECRYPT_OAEP_4096_SHA256"
- RSA_DECRYPT_OAEP_4096_SHA256RSAES-OAEP 4096 bit key with a SHA256 digest.
- "RSA_DECRYPT_OAEP_4096_SHA512"
- RSA_DECRYPT_OAEP_4096_SHA512RSAES-OAEP 4096 bit key with a SHA512 digest.
- "RSA_DECRYPT_OAEP_2048_SHA1"
- RSA_DECRYPT_OAEP_2048_SHA1RSAES-OAEP 2048 bit key with a SHA1 digest.
- "RSA_DECRYPT_OAEP_3072_SHA1"
- RSA_DECRYPT_OAEP_3072_SHA1RSAES-OAEP 3072 bit key with a SHA1 digest.
- "RSA_DECRYPT_OAEP_4096_SHA1"
- RSA_DECRYPT_OAEP_4096_SHA1RSAES-OAEP 4096 bit key with a SHA1 digest.
- "EC_SIGN_P256_SHA256"
- EC_SIGN_P256_SHA256ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- "EC_SIGN_P384_SHA384"
- EC_SIGN_P384_SHA384ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- "EC_SIGN_SECP256K1_SHA256"
- EC_SIGN_SECP256K1_SHA256ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
- "HMAC_SHA256"
- HMAC_SHA256HMAC-SHA256 signing with a 256 bit key.
- "HMAC_SHA1"
- HMAC_SHA1HMAC-SHA1 signing with a 160 bit key.
- "HMAC_SHA384"
- HMAC_SHA384HMAC-SHA384 signing with a 384 bit key.
- "HMAC_SHA512"
- HMAC_SHA512HMAC-SHA512 signing with a 512 bit key.
- "HMAC_SHA224"
- HMAC_SHA224HMAC-SHA224 signing with a 224 bit key.
- "EXTERNAL_SYMMETRIC_ENCRYPTION"
- EXTERNAL_SYMMETRIC_ENCRYPTIONAlgorithm representing symmetric encryption by an external key manager.
CryptoKeyVersionTemplateProtectionLevel, CryptoKeyVersionTemplateProtectionLevelArgs            
- ProtectionLevel Unspecified 
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- Software
- SOFTWARECrypto operations are performed in software.
- Hsm
- HSMCrypto operations are performed in a Hardware Security Module.
- External
- EXTERNALCrypto operations are performed by an external key manager.
- ExternalVpc 
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
- CryptoKey Version Template Protection Level Protection Level Unspecified 
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- CryptoKey Version Template Protection Level Software 
- SOFTWARECrypto operations are performed in software.
- CryptoKey Version Template Protection Level Hsm 
- HSMCrypto operations are performed in a Hardware Security Module.
- CryptoKey Version Template Protection Level External 
- EXTERNALCrypto operations are performed by an external key manager.
- CryptoKey Version Template Protection Level External Vpc 
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
- ProtectionLevel Unspecified 
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- Software
- SOFTWARECrypto operations are performed in software.
- Hsm
- HSMCrypto operations are performed in a Hardware Security Module.
- External
- EXTERNALCrypto operations are performed by an external key manager.
- ExternalVpc 
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
- ProtectionLevel Unspecified 
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- Software
- SOFTWARECrypto operations are performed in software.
- Hsm
- HSMCrypto operations are performed in a Hardware Security Module.
- External
- EXTERNALCrypto operations are performed by an external key manager.
- ExternalVpc 
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
- PROTECTION_LEVEL_UNSPECIFIED
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- SOFTWARE
- SOFTWARECrypto operations are performed in software.
- HSM
- HSMCrypto operations are performed in a Hardware Security Module.
- EXTERNAL
- EXTERNALCrypto operations are performed by an external key manager.
- EXTERNAL_VPC
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
- "PROTECTION_LEVEL_UNSPECIFIED"
- PROTECTION_LEVEL_UNSPECIFIEDNot specified.
- "SOFTWARE"
- SOFTWARECrypto operations are performed in software.
- "HSM"
- HSMCrypto operations are performed in a Hardware Security Module.
- "EXTERNAL"
- EXTERNALCrypto operations are performed by an external key manager.
- "EXTERNAL_VPC"
- EXTERNAL_VPCCrypto operations are performed in an EKM-over-VPC backend.
CryptoKeyVersionTemplateResponse, CryptoKeyVersionTemplateResponseArgs          
- Algorithm string
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- ProtectionLevel string
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- Algorithm string
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- ProtectionLevel string
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm String
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel String
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm string
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel string
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm str
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protection_level str
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
- algorithm String
- Algorithm to use when creating a CryptoKeyVersion based on this template. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.
- protectionLevel String
- ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.
ExternalProtectionLevelOptionsResponse, ExternalProtectionLevelOptionsResponseArgs          
- EkmConnection stringKey Path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- ExternalKey stringUri 
- The URI for an external resource that this CryptoKeyVersion represents.
- EkmConnection stringKey Path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- ExternalKey stringUri 
- The URI for an external resource that this CryptoKeyVersion represents.
- ekmConnection StringKey Path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- externalKey StringUri 
- The URI for an external resource that this CryptoKeyVersion represents.
- ekmConnection stringKey Path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- externalKey stringUri 
- The URI for an external resource that this CryptoKeyVersion represents.
- ekm_connection_ strkey_ path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- external_key_ struri 
- The URI for an external resource that this CryptoKeyVersion represents.
- ekmConnection StringKey Path 
- The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of external_key_uri when using an EkmConnection.
- externalKey StringUri 
- The URI for an external resource that this CryptoKeyVersion represents.
KeyOperationAttestationResponse, KeyOperationAttestationResponseArgs        
- CertChains Pulumi.Google Native. Cloudkms. V1. Inputs. Certificate Chains Response 
- The certificate chains needed to validate the attestation
- Content string
- The attestation data provided by the HSM when the key operation was performed.
- Format string
- The format of the attestation data.
- CertChains CertificateChains Response 
- The certificate chains needed to validate the attestation
- Content string
- The attestation data provided by the HSM when the key operation was performed.
- Format string
- The format of the attestation data.
- certChains CertificateChains Response 
- The certificate chains needed to validate the attestation
- content String
- The attestation data provided by the HSM when the key operation was performed.
- format String
- The format of the attestation data.
- certChains CertificateChains Response 
- The certificate chains needed to validate the attestation
- content string
- The attestation data provided by the HSM when the key operation was performed.
- format string
- The format of the attestation data.
- cert_chains CertificateChains Response 
- The certificate chains needed to validate the attestation
- content str
- The attestation data provided by the HSM when the key operation was performed.
- format str
- The format of the attestation data.
- certChains Property Map
- The certificate chains needed to validate the attestation
- content String
- The attestation data provided by the HSM when the key operation was performed.
- format String
- The format of the attestation data.
Package Details
- Repository
- Google Cloud Native pulumi/pulumi-google-native
- License
- Apache-2.0
Google Cloud Native is in preview. Google Cloud Classic is fully supported.