@aws-sdk/client-kms 3.218.0 → 3.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +12 -11
  2. package/dist-cjs/endpoint/ruleset.js +1 -1
  3. package/dist-cjs/models/models_0.js +206 -3
  4. package/dist-cjs/protocols/Aws_json1_1.js +284 -0
  5. package/dist-es/endpoint/ruleset.js +1 -1
  6. package/dist-es/models/models_0.js +187 -0
  7. package/dist-es/protocols/Aws_json1_1.js +285 -1
  8. package/dist-types/KMS.d.ts +457 -312
  9. package/dist-types/KMSClient.d.ts +12 -11
  10. package/dist-types/commands/CancelKeyDeletionCommand.d.ts +1 -2
  11. package/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +43 -17
  12. package/dist-types/commands/CreateAliasCommand.d.ts +1 -1
  13. package/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +51 -13
  14. package/dist-types/commands/CreateGrantCommand.d.ts +1 -2
  15. package/dist-types/commands/CreateKeyCommand.d.ts +76 -35
  16. package/dist-types/commands/DecryptCommand.d.ts +16 -17
  17. package/dist-types/commands/DeleteAliasCommand.d.ts +1 -1
  18. package/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +21 -16
  19. package/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +22 -17
  20. package/dist-types/commands/DescribeKeyCommand.d.ts +7 -3
  21. package/dist-types/commands/DisableKeyCommand.d.ts +3 -2
  22. package/dist-types/commands/DisableKeyRotationCommand.d.ts +4 -6
  23. package/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +12 -12
  24. package/dist-types/commands/EnableKeyCommand.d.ts +1 -2
  25. package/dist-types/commands/EnableKeyRotationCommand.d.ts +6 -8
  26. package/dist-types/commands/EncryptCommand.d.ts +11 -9
  27. package/dist-types/commands/GenerateDataKeyCommand.d.ts +1 -2
  28. package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +8 -10
  29. package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +4 -6
  30. package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +9 -2
  31. package/dist-types/commands/GenerateMacCommand.d.ts +14 -14
  32. package/dist-types/commands/GenerateRandomCommand.d.ts +6 -3
  33. package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +3 -3
  34. package/dist-types/commands/GetParametersForImportCommand.d.ts +3 -3
  35. package/dist-types/commands/GetPublicKeyCommand.d.ts +5 -4
  36. package/dist-types/commands/ImportKeyMaterialCommand.d.ts +8 -8
  37. package/dist-types/commands/ReEncryptCommand.d.ts +5 -5
  38. package/dist-types/commands/ReplicateKeyCommand.d.ts +5 -4
  39. package/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +11 -8
  40. package/dist-types/commands/SignCommand.d.ts +8 -6
  41. package/dist-types/commands/TagResourceCommand.d.ts +1 -1
  42. package/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  43. package/dist-types/commands/UpdateAliasCommand.d.ts +6 -6
  44. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +58 -38
  45. package/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +1 -2
  46. package/dist-types/commands/VerifyCommand.d.ts +5 -6
  47. package/dist-types/commands/VerifyMacCommand.d.ts +6 -6
  48. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  49. package/dist-types/models/models_0.d.ts +925 -224
  50. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  51. package/dist-types/ts3.4/models/models_0.d.ts +166 -0
  52. package/package.json +1 -1
@@ -13,9 +13,13 @@ export interface DescribeKeyCommandOutput extends DescribeKeyResponse, __Metadat
13
13
  * key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a>.</p>
14
14
  * <p>This detailed information includes the key ARN, creation date (and deletion date, if
15
15
  * applicable), the key state, and the origin and expiration date (if any) of the key material.
16
- * It includes fields, like <code>KeySpec</code>, that help you distinguish different types of KMS keys. It also displays the key usage (encryption, signing, or generating and verifying MACs) and the algorithms that the KMS key supports. For KMS keys in custom key stores, it includes
17
- * information about the custom key store, such as the key store ID and the CloudHSM cluster ID. For
18
- * multi-Region keys, it displays the primary key and all related replica keys. </p>
16
+ * It includes fields, like <code>KeySpec</code>, that help you distinguish different types of
17
+ * KMS keys. It also displays the key usage (encryption, signing, or generating and verifying
18
+ * MACs) and the algorithms that the KMS key supports. For <a href="kms/latest/developerguide/multi-region-keys-overview.html">multi-Region keys</a>, it displays
19
+ * the primary key and all related replica keys. For KMS keys in <a href="kms/latest/developerguide/keystore-cloudhsm.html">CloudHSM key stores</a>, it includes information
20
+ * about the custom key store, such as the key store ID and the CloudHSM cluster ID. For KMS key in
21
+ * <a href="kms/latest/developerguide/keystore-external.html">external key stores</a>, it includes
22
+ * the custom key store ID and the ID and status of the associated external key.</p>
19
23
  * <p>
20
24
  * <code>DescribeKey</code> does not return the following information:</p>
21
25
  * <ul>
@@ -10,12 +10,13 @@ export interface DisableKeyCommandOutput extends __MetadataBearer {
10
10
  /**
11
11
  * <p>Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS
12
12
  * key for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>. </p>
13
- * <p>For more information about how key state affects the use of a KMS key, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>
13
+ * <p>For more information about how key state affects the use of a KMS key, see
14
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>
14
15
  * <i>Key Management Service Developer Guide</i>
15
16
  * </i>.</p>
16
17
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
17
18
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
18
- * <p>
19
+ * <p>
19
20
  * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
20
21
  *
21
22
  * <p>
@@ -11,21 +11,19 @@ export interface DisableKeyRotationCommandOutput extends __MetadataBearer {
11
11
  * <p>Disables <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic
12
12
  * rotation of the key material</a> of the specified symmetric encryption KMS key.</p>
13
13
  * <p>Automatic key rotation is supported only on symmetric encryption KMS keys.
14
- * You cannot enable or disable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. The key rotation status of these KMS keys is always <code>false</code>.
15
- * To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key.</p>
14
+ * You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key.</p>
16
15
  * <p>You can enable (<a>EnableKeyRotation</a>) and disable automatic rotation of the
17
16
  * key material in <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed KMS keys</a>. Key material rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed KMS keys</a> is not
18
17
  * configurable. KMS always rotates the key material for every year. Rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon Web Services owned KMS
19
18
  * keys</a> varies.</p>
20
19
  * <note>
21
- * <p>In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every
22
- * three years to every year. For details, see <a>EnableKeyRotation</a>.</p>
20
+ * <p>In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three
21
+ * years to every year. For details, see <a>EnableKeyRotation</a>.</p>
23
22
  * </note>
24
23
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
25
24
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
26
25
  * <p>
27
- * <b>Cross-account
28
- * use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
26
+ * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
29
27
  *
30
28
  * <p>
31
29
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:DisableKeyRotation</a> (key policy)</p>
@@ -8,26 +8,26 @@ export interface DisconnectCustomKeyStoreCommandInput extends DisconnectCustomKe
8
8
  export interface DisconnectCustomKeyStoreCommandOutput extends DisconnectCustomKeyStoreResponse, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Disconnects the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a> from its associated CloudHSM cluster. While a custom key
12
- * store is disconnected, you can manage the custom key store and its KMS keys, but you cannot
13
- * create or use KMS keys in the custom key store. You can reconnect the custom key store at any
11
+ * <p>Disconnects the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a> from its backing key store. This operation disconnects an
12
+ * CloudHSM key store from its associated CloudHSM cluster or disconnects an external key store from
13
+ * the external key store proxy that communicates with your external key manager.</p>
14
+ * <p> This operation is part of the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key stores</a> feature in KMS, which
15
+ * combines the convenience and extensive integration of KMS with the isolation and control of a
16
+ * key store that you own and manage.</p>
17
+ * <p>While a custom key store is disconnected, you can manage the custom key store and its KMS
18
+ * keys, but you cannot create or use its KMS keys. You can reconnect the custom key store at any
14
19
  * time.</p>
15
20
  * <note>
16
21
  * <p>While a custom key store is disconnected, all attempts to create KMS keys in the custom key store or to use existing KMS keys in <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a> will
17
22
  * fail. This action can prevent users from storing and accessing sensitive data.</p>
18
23
  * </note>
19
- * <p></p>
20
- * <p>To find the connection state of a custom key store, use the <a>DescribeCustomKeyStores</a> operation. To reconnect a custom key store, use the
24
+ * <p>When you disconnect a custom key store, its <code>ConnectionState</code> changes to
25
+ * <code>Disconnected</code>. To find the connection state of a custom key store, use the <a>DescribeCustomKeyStores</a> operation. To reconnect a custom key store, use the
21
26
  * <a>ConnectCustomKeyStore</a> operation.</p>
22
27
  * <p>If the operation succeeds, it returns a JSON object with no
23
28
  * properties.</p>
24
- * <p>This operation is part of the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store feature</a> feature in KMS, which
25
- * combines the convenience and extensive integration of KMS with the isolation and control of a
26
- * single-tenant key store.</p>
27
- *
28
- * <p>
29
- * <b>Cross-account use</b>: No.
30
- * You cannot perform this operation on a custom key store in a different Amazon Web Services account.</p>
29
+ * <p>
30
+ * <b>Cross-account use</b>: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.</p>
31
31
  *
32
32
  * <p>
33
33
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:DisconnectCustomKeyStore</a> (IAM policy)</p>
@@ -13,8 +13,7 @@ export interface EnableKeyCommandOutput extends __MetadataBearer {
13
13
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
14
14
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
15
15
  * <p>
16
- * <b>Cross-account
17
- * use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
16
+ * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
18
17
  *
19
18
  * <p>
20
19
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:EnableKey</a> (key policy)</p>
@@ -16,24 +16,22 @@ export interface EnableKeyRotationCommandOutput extends __MetadataBearer {
16
16
  * CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer
17
17
  * managed KMS key, use the <a>DisableKeyRotation</a> operation.</p>
18
18
  * <p>Automatic key rotation is supported only on <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks">symmetric encryption KMS keys</a>.
19
- * You cannot enable or disable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. The key rotation status of these KMS keys is always <code>false</code>.
20
- * To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key. </p>
19
+ * You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key. </p>
21
20
  * <p>You cannot enable or disable automatic rotation <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed KMS keys</a>. KMS
22
21
  * always rotates the key material of Amazon Web Services managed keys every year. Rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon Web Services owned KMS
23
22
  * keys</a> varies.</p>
24
23
  * <note>
25
24
  * <p>In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three
26
25
  * years (approximately 1,095 days) to every year (approximately 365 days).</p>
27
- * <p>New Amazon Web Services managed keys are automatically rotated one year after they
28
- * are created, and approximately every year thereafter. </p>
29
- * <p>Existing Amazon Web Services managed keys are automatically rotated one year after
30
- * their most recent rotation, and every year thereafter.</p>
26
+ * <p>New Amazon Web Services managed keys are automatically rotated one year after they are created, and
27
+ * approximately every year thereafter. </p>
28
+ * <p>Existing Amazon Web Services managed keys are automatically rotated one year after their most recent
29
+ * rotation, and every year thereafter.</p>
31
30
  * </note>
32
31
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
33
32
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
34
33
  * <p>
35
- * <b>Cross-account
36
- * use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
34
+ * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
37
35
  *
38
36
  * <p>
39
37
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:EnableKeyRotation</a> (key policy)</p>
@@ -10,15 +10,17 @@ export interface EncryptCommandOutput extends EncryptResponse, __MetadataBearer
10
10
  /**
11
11
  * <p>Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or
12
12
  * asymmetric KMS key with a <code>KeyUsage</code> of <code>ENCRYPT_DECRYPT</code>.</p>
13
- * <p>You can use this operation to encrypt small amounts of arbitrary data, such as a personal identifier or
14
- * database password, or other sensitive information. You don't need to use the <code>Encrypt</code> operation to encrypt a data key. The <a>GenerateDataKey</a> and <a>GenerateDataKeyPair</a> operations return a
15
- * plaintext data key and an encrypted copy of that data key.</p>
16
- *
17
- * <p>If you use a symmetric encryption KMS key, you can use an encryption context to add additional
18
- * security to your encryption operation. If you specify an <code>EncryptionContext</code> when
19
- * encrypting data, you must specify the same encryption context (a case-sensitive exact match)
20
- * when decrypting the data. Otherwise, the request to decrypt fails with an
21
- * <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption
13
+ * <p>You can use this operation to encrypt small amounts of arbitrary data, such as a personal
14
+ * identifier or database password, or other sensitive information. You don't need to use the
15
+ * <code>Encrypt</code> operation to encrypt a data key. The <a>GenerateDataKey</a>
16
+ * and <a>GenerateDataKeyPair</a> operations return a plaintext data key and an
17
+ * encrypted copy of that data key.</p>
18
+ * <p>If you use a symmetric encryption KMS key, you can use an encryption context to add
19
+ * additional security to your encryption operation. If you specify an
20
+ * <code>EncryptionContext</code> when encrypting data, you must specify the same encryption
21
+ * context (a case-sensitive exact match) when decrypting the data. Otherwise, the request to
22
+ * decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see
23
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption
22
24
  * Context</a> in the <i>Key Management Service Developer Guide</i>.</p>
23
25
  * <p>If you specify an asymmetric KMS key, you must also specify the encryption algorithm. The
24
26
  * algorithm must be compatible with the KMS key spec.</p>
@@ -39,8 +39,7 @@ export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, _
39
39
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
40
40
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
41
41
  * <p>
42
- * <b>How to use your data
43
- * key</b>
42
+ * <b>How to use your data key</b>
44
43
  * </p>
45
44
  * <p>We recommend that you use the following pattern to encrypt data locally in your
46
45
  * application. You can write your own code or use a client-side encryption library, such as the
@@ -12,8 +12,8 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
12
12
  * a plaintext public key, a plaintext private key, and a copy of the private key that is
13
13
  * encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to
14
14
  * perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes
15
- * in the keys are random; they not related to the caller or to the KMS key that is used to encrypt the
16
- * private key. </p>
15
+ * in the keys are random; they not related to the caller or to the KMS key that is used to
16
+ * encrypt the private key. </p>
17
17
  *
18
18
  * <p>You can use the public key that <code>GenerateDataKeyPair</code> returns to encrypt data
19
19
  * or verify a signature outside of KMS. Then, store the encrypted private key with the data.
@@ -21,8 +21,7 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
21
21
  *
22
22
  * <p>To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt
23
23
  * the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
24
- * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
25
- * operation. </p>
24
+ * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
26
25
  * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
27
26
  * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you use
28
27
  * ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not both.
@@ -38,10 +37,10 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
38
37
  *
39
38
  * <p>
40
39
  * <code>GenerateDataKeyPair</code> returns a unique data key pair for each request. The
41
- * bytes in the keys are random; they are not related to the caller or the KMS key that is used to encrypt the
42
- * private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in
43
- * <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>. The private key is a
44
- * DER-encoded PKCS8 PrivateKeyInfo, as specified in <a href="https://tools.ietf.org/html/rfc5958">RFC 5958</a>.</p>
40
+ * bytes in the keys are random; they are not related to the caller or the KMS key that is used
41
+ * to encrypt the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as
42
+ * specified in <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>. The private
43
+ * key is a DER-encoded PKCS8 PrivateKeyInfo, as specified in <a href="https://tools.ietf.org/html/rfc5958">RFC 5958</a>.</p>
45
44
  *
46
45
  * <p>You can use an optional encryption context to add additional security to the encryption
47
46
  * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
@@ -51,8 +50,7 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
51
50
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
52
51
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
53
52
  * <p>
54
- * <b>Cross-account
55
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
53
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
56
54
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
57
55
  *
58
56
  * <p>
@@ -11,15 +11,14 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
11
11
  * <p>Returns a unique asymmetric data key pair for use outside of KMS. This operation returns
12
12
  * a plaintext public key and a copy of the private key that is encrypted under the symmetric
13
13
  * encryption KMS key you specify. Unlike <a>GenerateDataKeyPair</a>, this operation
14
- * does not return a plaintext private key. The bytes in the keys are random; they are not related to the caller
15
- * or to the KMS key that is used to encrypt the private key. </p>
14
+ * does not return a plaintext private key. The bytes in the keys are random; they are not
15
+ * related to the caller or to the KMS key that is used to encrypt the private key. </p>
16
16
  * <p>You can use the public key that <code>GenerateDataKeyPairWithoutPlaintext</code> returns
17
17
  * to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key
18
18
  * with the data. When you are ready to decrypt data or sign a message, you can use the <a>Decrypt</a> operation to decrypt the encrypted private key.</p>
19
19
  * <p>To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt
20
20
  * the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
21
- * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
22
- * operation. </p>
21
+ * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
23
22
  * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
24
23
  * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you
25
24
  * use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not
@@ -38,8 +37,7 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
38
37
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
39
38
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
40
39
  * <p>
41
- * <b>Cross-account
42
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
40
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
43
41
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
44
42
  *
45
43
  * <p>
@@ -31,6 +31,14 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
31
31
  * encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the
32
32
  * type of your KMS key, use the <a>DescribeKey</a> operation.</p>
33
33
  *
34
+ * <p>You must also specify the length of the data key. Use either the <code>KeySpec</code> or
35
+ * <code>NumberOfBytes</code> parameters (but not both). For 128-bit and 256-bit data keys, use
36
+ * the <code>KeySpec</code> parameter.</p>
37
+ *
38
+ * <p>To generate an SM4 data key (China Regions only), specify a <code>KeySpec</code> value of
39
+ * <code>AES_128</code> or <code>NumberOfBytes</code> value of <code>128</code>. The symmetric
40
+ * encryption key used in China Regions to encrypt your data key is an SM4 encryption key.</p>
41
+ *
34
42
  * <p>If the operation succeeds, you will find the encrypted copy of the data key in the
35
43
  * <code>CiphertextBlob</code> field.</p>
36
44
  *
@@ -42,8 +50,7 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
42
50
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
43
51
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
44
52
  * <p>
45
- * <b>Cross-account
46
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
53
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
47
54
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
48
55
  *
49
56
  * <p>
@@ -8,28 +8,28 @@ export interface GenerateMacCommandInput extends GenerateMacRequest {
8
8
  export interface GenerateMacCommandOutput extends GenerateMacResponse, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS
12
- * key and a MAC algorithm that the key supports. The MAC algorithm computes the HMAC for the
13
- * message and the key as described in <a href="https://datatracker.ietf.org/doc/html/rfc2104">RFC 2104</a>.</p>
14
- * <p>You can use the HMAC that this operation generates with the <a>VerifyMac</a>
15
- * operation to demonstrate that the original message has not changed. Also, because a secret key
16
- * is used to create the hash, you can verify that the party that generated the hash has the
17
- * required secret key. This operation is part of KMS support for HMAC KMS keys.
18
- * For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC keys in KMS</a> in the <i>
11
+ * <p>Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS key and a MAC algorithm that the key supports.
12
+ * HMAC KMS keys and the HMAC algorithms that KMS uses conform to industry standards defined in <a href="https://datatracker.ietf.org/doc/html/rfc2104">RFC 2104</a>.</p>
13
+ * <p>You can use value that GenerateMac returns in the <a>VerifyMac</a> operation to
14
+ * demonstrate that the original message has not changed. Also, because a secret key is used to
15
+ * create the hash, you can verify that the party that generated the hash has the required secret
16
+ * key. You can also use the raw result to implement HMAC-based algorithms such as key derivation
17
+ * functions. This operation is part of KMS support for HMAC KMS keys. For
18
+ * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC keys in
19
+ * KMS</a> in the <i>
19
20
  * <i>Key Management Service Developer Guide</i>
20
21
  * </i>.</p>
21
22
  * <note>
22
23
  * <p>Best practices recommend that you limit the time during which any signing mechanism,
23
- * including an HMAC, is effective. This deters an attack where the actor uses a signed
24
- * message to establish validity repeatedly or long after the message is superseded. HMAC
25
- * tags do not include a timestamp, but you can include a timestamp in the token or message
26
- * to help you detect when its time to refresh the HMAC. </p>
24
+ * including an HMAC, is effective. This deters an attack where the actor uses a signed message
25
+ * to establish validity repeatedly or long after the message is superseded. HMAC tags do not
26
+ * include a timestamp, but you can include a timestamp in the token or message to help you
27
+ * detect when its time to refresh the HMAC. </p>
27
28
  * </note>
28
29
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
29
30
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
30
31
  * <p>
31
- * <b>Cross-account
32
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
32
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
33
33
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter. </p>
34
34
  * <p>
35
35
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateMac</a> (key policy)</p>
@@ -12,13 +12,16 @@ export interface GenerateRandomCommandOutput extends GenerateRandomResponse, __M
12
12
  * <p>You must use the <code>NumberOfBytes</code> parameter to specify the length of the random
13
13
  * byte string. There is no default value for string length.</p>
14
14
  * <p>By default, the random byte string is generated in KMS. To generate the byte string in
15
- * the CloudHSM cluster that is associated with a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>, specify the custom key store
16
- * ID.</p>
15
+ * the CloudHSM cluster associated with an CloudHSM key store, use the <code>CustomKeyStoreId</code>
16
+ * parameter.</p>
17
17
  * <p>Applications in Amazon Web Services Nitro Enclaves can call this operation by using the <a href="https://github.com/aws/aws-nitro-enclaves-sdk-c">Amazon Web Services Nitro Enclaves Development Kit</a>. For information about the supporting parameters, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves use KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
18
18
  * <p>For more information about entropy and random number generation, see
19
19
  * <a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/">Key Management Service Cryptographic Details</a>.</p>
20
+ *
20
21
  * <p>
21
- * <b>Cross-account use</b>: Not applicable. <code>GenerateRandom</code> does not use any account-specific resources, such as KMS keys.</p>
22
+ * <b>Cross-account use</b>: Not applicable.
23
+ * <code>GenerateRandom</code> does not use any account-specific resources, such as KMS
24
+ * keys.</p>
22
25
  * <p>
23
26
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateRandom</a> (IAM policy)</p>
24
27
  * @example
@@ -15,14 +15,14 @@ export interface GetKeyRotationStatusCommandOutput extends GetKeyRotationStatusR
15
15
  * and every year thereafter. You can monitor rotation of the key material for your KMS keys in
16
16
  * CloudTrail and Amazon CloudWatch.</p>
17
17
  * <p>Automatic key rotation is supported only on <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks">symmetric encryption KMS keys</a>.
18
- * You cannot enable or disable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. The key rotation status of these KMS keys is always <code>false</code>.
19
- * To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key..</p>
18
+ * You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key..</p>
20
19
  * <p>You can enable (<a>EnableKeyRotation</a>) and disable automatic rotation (<a>DisableKeyRotation</a>) of the key material in customer managed KMS keys. Key
21
20
  * material rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed KMS keys</a> is not
22
21
  * configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The
23
22
  * key rotation status for Amazon Web Services managed KMS keys is always <code>true</code>.</p>
24
23
  * <note>
25
- * <p>In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see <a>EnableKeyRotation</a>.</p>
24
+ * <p>In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three
25
+ * years to every year. For details, see <a>EnableKeyRotation</a>.</p>
26
26
  * </note>
27
27
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
28
28
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
@@ -9,12 +9,12 @@ export interface GetParametersForImportCommandOutput extends GetParametersForImp
9
9
  }
10
10
  /**
11
11
  * <p>Returns the items you need to import key material into a symmetric encryption KMS key. For
12
- * more information about importing key material into KMS, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing key material</a>
13
- * in the <i>Key Management Service Developer Guide</i>.</p>
12
+ * more information about importing key material into KMS, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing key material</a> in the
13
+ * <i>Key Management Service Developer Guide</i>.</p>
14
14
  * <p>This operation returns a public key and an import token. Use the public key to encrypt the
15
15
  * symmetric key material. Store the import token to send with a subsequent <a>ImportKeyMaterial</a> request.</p>
16
16
  * <p>You must specify the key ID of the symmetric encryption KMS key into which you will import
17
- * key material. This KMS key's <code>Origin</code> must be <code>EXTERNAL</code>. You must also
17
+ * key material. The KMS key <code>Origin</code> must be <code>EXTERNAL</code>. You must also
18
18
  * specify the wrapping algorithm and type of wrapping key (public key) that you will use to
19
19
  * encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.</p>
20
20
  * <p>To import key material, you must use the public key and import token from the same
@@ -18,10 +18,7 @@ export interface GetPublicKeyCommandOutput extends GetPublicKeyResponse, __Metad
18
18
  * public key within KMS, you benefit from the authentication, authorization, and logging that
19
19
  * are part of every KMS operation. You also reduce of risk of encrypting data that cannot be
20
20
  * decrypted. These features are not effective outside of KMS.</p>
21
- * <p>To verify a signature outside of KMS with an SM2 public key (China Regions only), you must
22
- * specify the distinguishing ID. By default, KMS uses <code>1234567812345678</code> as the
23
- * distinguishing ID. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification">Offline verification
24
- * with SM2 key pairs</a>.</p>
21
+ *
25
22
  * <p>To help you use the public key safely outside of KMS, <code>GetPublicKey</code> returns
26
23
  * important information about the public key in the response, including:</p>
27
24
  * <ul>
@@ -46,6 +43,10 @@ export interface GetPublicKeyCommandOutput extends GetPublicKeyResponse, __Metad
46
43
  * public key from being used with an encryption algorithm that is not supported by KMS. You
47
44
  * can also avoid errors, such as using the wrong signing algorithm in a verification
48
45
  * operation.</p>
46
+ * <p>To verify a signature outside of KMS with an SM2 public key (China Regions only), you must
47
+ * specify the distinguishing ID. By default, KMS uses <code>1234567812345678</code> as the
48
+ * distinguishing ID. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification">Offline verification
49
+ * with SM2 key pairs</a>.</p>
49
50
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
50
51
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
51
52
  * <p>
@@ -10,9 +10,8 @@ export interface ImportKeyMaterialCommandOutput extends ImportKeyMaterialRespons
10
10
  /**
11
11
  * <p>Imports key material into an existing symmetric encryption KMS key that was created
12
12
  * without key material. After you successfully import key material into a KMS key, you can
13
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material">reimport
14
- * the same key material</a> into that KMS key, but you cannot import different key
15
- * material. </p>
13
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material">reimport the same key material</a> into that KMS key, but you cannot import different
14
+ * key material. </p>
16
15
  * <p>You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about creating KMS keys with no key material
17
16
  * and then importing key material, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a> in the
18
17
  * <i>Key Management Service Developer Guide</i>.</p>
@@ -38,11 +37,12 @@ export interface ImportKeyMaterialCommandOutput extends ImportKeyMaterialRespons
38
37
  * a public key and token from the same <code>GetParametersForImport</code> response.</p>
39
38
  * </li>
40
39
  * <li>
41
- * <p>Whether the key material expires and if so, when. If you set an expiration date, KMS
42
- * deletes the key material from the KMS key on the specified date, and the KMS key becomes
43
- * unusable. To use the KMS key again, you must reimport the same key material. The only way
44
- * to change an expiration date is by reimporting the same key material and specifying a new
45
- * expiration date. </p>
40
+ * <p>Whether the key material expires (<code>ExpirationModel</code>) and, if so, when
41
+ * (<code>ValidTo</code>). If you set an expiration date, on the specified date, KMS
42
+ * deletes the key material from the KMS key, making the KMS key unusable. To use the KMS key
43
+ * in cryptographic operations again, you must reimport the same key material. The only way
44
+ * to change the expiration model or expiration date is by reimporting the same key material
45
+ * and specifying a new expiration date. </p>
46
46
  * </li>
47
47
  * </ul>
48
48
  * <p>When this operation is successful, the key state of the KMS key changes from
@@ -43,7 +43,7 @@ export interface ReEncryptCommandOutput extends ReEncryptResponse, __MetadataBea
43
43
  * that you intend.</p>
44
44
  * </li>
45
45
  * <li>
46
- * <p>To reencrypt the data, you must use the <code>DestinationKeyId</code> parameter
46
+ * <p>To reencrypt the data, you must use the <code>DestinationKeyId</code> parameter to
47
47
  * specify the KMS key that re-encrypts the data after it is decrypted. If the destination
48
48
  * KMS key is an asymmetric KMS key, you must also provide the encryption algorithm. The
49
49
  * algorithm that you choose must be compatible with the KMS key.</p>
@@ -57,10 +57,10 @@ export interface ReEncryptCommandOutput extends ReEncryptResponse, __MetadataBea
57
57
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
58
58
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
59
59
  * <p>
60
- * <b>Cross-account use</b>: Yes.
61
- * The source KMS key and destination KMS key can be in different Amazon Web Services accounts. Either or both
62
- * KMS keys can be in a different account than the caller. To specify a KMS key in a different
63
- * account, you must use its key ARN or alias ARN.</p>
60
+ * <b>Cross-account use</b>: Yes. The source KMS key and
61
+ * destination KMS key can be in different Amazon Web Services accounts. Either or both KMS keys can be in a
62
+ * different account than the caller. To specify a KMS key in a different account, you must use
63
+ * its key ARN or alias ARN.</p>
64
64
  *
65
65
  * <p>
66
66
  * <b>Required permissions</b>:</p>
@@ -26,8 +26,8 @@ export interface ReplicateKeyCommandOutput extends ReplicateKeyResponse, __Metad
26
26
  * material origin</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic key rotation status</a>. KMS automatically synchronizes these shared
27
27
  * properties among related multi-Region keys. All other properties of a replica key can differ,
28
28
  * including its <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">key
29
- * policy</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html">tags</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html">aliases</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a>. KMS pricing and quotas for KMS keys apply to each primary key and replica
30
- * key.</p>
29
+ * policy</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html">tags</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html">aliases</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a>. KMS pricing and quotas for KMS keys apply to each
30
+ * primary key and replica key.</p>
31
31
  * <p>When this operation completes, the new replica key has a transient key state of
32
32
  * <code>Creating</code>. This key state changes to <code>Enabled</code> (or
33
33
  * <code>PendingImport</code>) after a few seconds when the process of creating the new replica
@@ -40,8 +40,9 @@ export interface ReplicateKeyCommandOutput extends ReplicateKeyResponse, __Metad
40
40
  * <p>You cannot create more than one replica of a primary key in any Region. If the Region
41
41
  * already includes a replica of the key you're trying to replicate, <code>ReplicateKey</code>
42
42
  * returns an <code>AlreadyExistsException</code> error. If the key state of the existing replica
43
- * is <code>PendingDeletion</code>, you can cancel the scheduled key deletion (<a>CancelKeyDeletion</a>) or wait for the key to be deleted. The new replica key you create
44
- * will have the same <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties">shared properties</a> as the original replica key.</p>
43
+ * is <code>PendingDeletion</code>, you can cancel the scheduled key deletion (<a>CancelKeyDeletion</a>) or wait for the key to be deleted. The new replica key you
44
+ * create will have the same <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties">shared
45
+ * properties</a> as the original replica key.</p>
45
46
  * <p>The CloudTrail log of a <code>ReplicateKey</code> operation records a
46
47
  * <code>ReplicateKey</code> operation in the primary key's Region and a <a>CreateKey</a> operation in the replica key's Region.</p>
47
48
  * <p>If you replicate a multi-Region primary key with imported key material, the replica key is
@@ -22,11 +22,6 @@ export interface ScheduleKeyDeletionCommandOutput extends ScheduleKeyDeletionRes
22
22
  * exception is a multi-Region replica key.) To prevent the use of a KMS key without deleting
23
23
  * it, use <a>DisableKey</a>. </p>
24
24
  * </important>
25
- * <p>If you schedule deletion of a KMS key from a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>, when the waiting period
26
- * expires, <code>ScheduleKeyDeletion</code> deletes the KMS key from KMS. Then KMS makes a
27
- * best effort to delete the key material from the associated CloudHSM cluster. However, you might
28
- * need to manually <a href="https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key">delete the orphaned key
29
- * material</a> from the cluster and its backups.</p>
30
25
  * <p>You can schedule the deletion of a multi-Region primary key and its replica keys at any
31
26
  * time. However, KMS will not delete a multi-Region primary key with existing replica keys. If
32
27
  * you schedule the deletion of a primary key with replicas, its key state changes to
@@ -35,14 +30,22 @@ export interface ScheduleKeyDeletionCommandOutput extends ScheduleKeyDeletionRes
35
30
  * deleted (not just scheduled), the key state of the primary key changes to
36
31
  * <code>PendingDeletion</code> and its waiting period (<code>PendingWindowInDays</code>)
37
32
  * begins. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html">Deleting multi-Region keys</a> in the
38
- * <i>Key Management Service Developer Guide</i>. </p>
33
+ * <i>Key Management Service Developer Guide</i>.</p>
34
+ * <p>When KMS <a href="https://docs.aws.amazon.com/kms/latest/developerguide/delete-cmk-keystore.html">deletes
35
+ * a KMS key from an CloudHSM key store</a>, it makes a best effort to delete the associated
36
+ * key material from the associated CloudHSM cluster. However, you might need to manually <a href="https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key">delete
37
+ * the orphaned key material</a> from the cluster and its backups. <a href="https://docs.aws.amazon.com/kms/latest/developerguide/delete-xks-key.html">Deleting a KMS key from an
38
+ * external key store</a> has no effect on the associated external key. However, for both
39
+ * types of custom key stores, deleting a KMS key is destructive and irreversible. You cannot
40
+ * decrypt ciphertext encrypted under the KMS key by using only its associated external key or
41
+ * CloudHSM key. Also, you cannot recreate a KMS key in an external key store by creating a new KMS
42
+ * key with the same key material.</p>
39
43
  * <p>For more information about scheduling a KMS key for deletion, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting KMS keys</a> in the
40
44
  * <i>Key Management Service Developer Guide</i>.</p>
41
45
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
42
46
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
43
47
  * <p>
44
- * <b>Cross-account
45
- * use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
48
+ * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
46
49
  *
47
50
  *
48
51
  * <p>