
com.pulumi.azurenative.awsconnector.enums.KeySpec Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.awsconnector.enums;
import com.pulumi.core.annotations.EnumType;
import java.lang.String;
import java.util.Objects;
import java.util.StringJoiner;
/**
* Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*. The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*. If you change the value of the ``KeySpec`` property on an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing an immutable property value. [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*. KMS supports the following key specs for KMS keys: + Symmetric encryption key (default) + ``SYMMETRIC_DEFAULT`` (AES-256-GCM) + HMAC keys (symmetric) + ``HMAC_224`` + ``HMAC_256`` + ``HMAC_384`` + ``HMAC_512`` + Asymmetric RSA key pairs + ``RSA_2048`` + ``RSA_3072`` + ``RSA_4096`` + Asymmetric NIST-recommended elliptic curve key pairs + ``ECC_NIST_P256`` (secp256r1) + ``ECC_NIST_P384`` (secp384r1) + ``ECC_NIST_P521`` (secp521r1) + Other asymmetric elliptic curve key pairs + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies. + SM2 key pairs (China Regions only) + ``SM2``
*
*/
@EnumType
public enum KeySpec {
/**
* KeySpec enum ECC_NIST_P256
*
*/
ECC_NIST_P256("ECC_NIST_P256"),
/**
* KeySpec enum ECC_NIST_P384
*
*/
ECC_NIST_P384("ECC_NIST_P384"),
/**
* KeySpec enum ECC_NIST_P521
*
*/
ECC_NIST_P521("ECC_NIST_P521"),
/**
* KeySpec enum ECC_SECG_P256K1
*
*/
ECC_SECG_P256K1("ECC_SECG_P256K1"),
/**
* KeySpec enum HMAC_224
*
*/
HMAC_224("HMAC_224"),
/**
* KeySpec enum HMAC_256
*
*/
HMAC_256("HMAC_256"),
/**
* KeySpec enum HMAC_384
*
*/
HMAC_384("HMAC_384"),
/**
* KeySpec enum HMAC_512
*
*/
HMAC_512("HMAC_512"),
/**
* KeySpec enum RSA_2048
*
*/
RSA_2048("RSA_2048"),
/**
* KeySpec enum RSA_3072
*
*/
RSA_3072("RSA_3072"),
/**
* KeySpec enum RSA_4096
*
*/
RSA_4096("RSA_4096"),
/**
* KeySpec enum SM2
*
*/
SM2("SM2"),
/**
* KeySpec enum SYMMETRIC_DEFAULT
*
*/
SYMMETRIC_DEFAULT("SYMMETRIC_DEFAULT");
private final String value;
KeySpec(String value) {
this.value = Objects.requireNonNull(value);
}
@EnumType.Converter
public String getValue() {
return this.value;
}
@Override
public java.lang.String toString() {
return new StringJoiner(", ", "KeySpec[", "]")
.add("value='" + this.value + "'")
.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy