public String getKeySpec() {
        return this.keySpec;
    }
<p>
Specifies the type of KMS key to create. The default value, <code>SYMMETRIC_DEFAULT</code>, creates a KMS key
with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates
a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see <a
href="https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose">Choosing a KMS key
type</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.
</p>
<p>
The <code>KeySpec</code> determines whether the KMS key contains a symmetric key or an asymmetric key pair. It
also determines the algorithms that the KMS key supports. You can't change the <code>KeySpec</code> after the KMS
key is created. 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 <a href=
"https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm"
>kms:EncryptionAlgorithm</a>, <a href=
"https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm"
>kms:MacAlgorithm</a> or <a href=
"https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm"
>kms:Signing Algorithm</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.
</p>
<important>
<p>
<a href="http://aws.amazon.com/kms/features/#AWS_Service_Integration">Amazon Web Services services that are
integrated with KMS</a> use symmetric encryption KMS keys to protect your data. These services do not support
asymmetric KMS keys or HMAC KMS keys.
</p>
</important>
<p>
KMS supports the following key specs for KMS keys:
</p>
<ul>
<li>
<p>
Symmetric encryption key (default)
</p>
<ul>
<li>
<p>
<code>SYMMETRIC_DEFAULT</code>
</p>
</li>
</ul>
</li>
<li>
<p>
HMAC keys (symmetric)
</p>
<ul>
<li>
<p>
<code>HMAC_224</code>
</p>
</li>
<li>
<p>
<code>HMAC_256</code>
</p>
</li>
<li>
<p>
<code>HMAC_384</code>
</p>
</li>
<li>
<p>
<code>HMAC_512</code>
</p>
</li>
</ul>
</li>
<li>
<p>
Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)
</p>
<ul>
<li>
<p>
<code>RSA_2048</code>
</p>
</li>
<li>
<p>
<code>RSA_3072</code>
</p>
</li>
<li>
<p>
<code>RSA_4096</code>
</p>
</li>
</ul>
</li>
<li>
<p>
Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)
</p>
<ul>
<li>
<p>
<code>ECC_NIST_P256</code> (secp256r1)
</p>
</li>
<li>
<p>
<code>ECC_NIST_P384</code> (secp384r1)
</p>
</li>
<li>
<p>
<code>ECC_NIST_P521</code> (secp521r1)
</p>
</li>
</ul>
</li>
<li>
<p>
Other asymmetric elliptic curve key pairs (signing and verification)
</p>
<ul>
<li>
<p>
<code>ECC_SECG_P256K1</code> (secp256k1), commonly used for cryptocurrencies.
</p>
</li>
</ul>
</li>
<li>
<p>
SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)
</p>
<ul>
<li>
<p>
<code>SM2</code> (China Regions only)
</p>
</li>
</ul>
</li>
</ul>

@return Specifies the type of KMS key to create. The default value, <code>SYMMETRIC_DEFAULT</code>, creates a KMS
        key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where
        it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS
        key, see <a
        href="https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose">Choosing a
        KMS key type</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
        <p>
        The <code>KeySpec</code> determines whether the KMS key contains a symmetric key or an asymmetric key
        pair. It also determines the algorithms that the KMS key supports. You can't change the
        <code>KeySpec</code> after the KMS key is created. 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 <a href=
        "https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm"
        >kms:EncryptionAlgorithm</a>, <a href=
        "https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm"
        >kms:MacAlgorithm</a> or <a href=
        "https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm"
        >kms:Signing Algorithm</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.
        </p>
        <important>
        <p>
        <a href="http://aws.amazon.com/kms/features/#AWS_Service_Integration">Amazon Web Services services that
        are integrated with KMS</a> use symmetric encryption KMS keys to protect your data. These services do not
        support asymmetric KMS keys or HMAC KMS keys.
        </p>
        </important>
        <p>
        KMS supports the following key specs for KMS keys:
        </p>
        <ul>
        <li>
        <p>
        Symmetric encryption key (default)
        </p>
        <ul>
        <li>
        <p>
        <code>SYMMETRIC_DEFAULT</code>
        </p>
        </li>
        </ul>
        </li>
        <li>
        <p>
        HMAC keys (symmetric)
        </p>
        <ul>
        <li>
        <p>
        <code>HMAC_224</code>
        </p>
        </li>
        <li>
        <p>
        <code>HMAC_256</code>
        </p>
        </li>
        <li>
        <p>
        <code>HMAC_384</code>
        </p>
        </li>
        <li>
        <p>
        <code>HMAC_512</code>
        </p>
        </li>
        </ul>
        </li>
        <li>
        <p>
        Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)
        </p>
        <ul>
        <li>
        <p>
        <code>RSA_2048</code>
        </p>
        </li>
        <li>
        <p>
        <code>RSA_3072</code>
        </p>
        </li>
        <li>
        <p>
        <code>RSA_4096</code>
        </p>
        </li>
        </ul>
        </li>
        <li>
        <p>
        Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared
        secrets)
        </p>
        <ul>
        <li>
        <p>
        <code>ECC_NIST_P256</code> (secp256r1)
        </p>
        </li>
        <li>
        <p>
        <code>ECC_NIST_P384</code> (secp384r1)
        </p>
        </li>
        <li>
        <p>
        <code>ECC_NIST_P521</code> (secp521r1)
        </p>
        </li>
        </ul>
        </li>
        <li>
        <p>
        Other asymmetric elliptic curve key pairs (signing and verification)
        </p>
        <ul>
        <li>
        <p>
        <code>ECC_SECG_P256K1</code> (secp256k1), commonly used for cryptocurrencies.
        </p>
        </li>
        </ul>
        </li>
        <li>
        <p>
        SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)
        </p>
        <ul>
        <li>
        <p>
        <code>SM2</code> (China Regions only)
        </p>
        </li>
        </ul>
        </li>
@see KeySpec
aws-java-sdk-kms/src/main/java/com/amazonaws/services/kms/model/CreateKeyRequest.java