All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.awsconnector.enums.KeySpec Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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