@aws-sdk/client-kms 3.823.0 → 3.826.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 (61) hide show
  1. package/dist-cjs/index.js +50 -5
  2. package/dist-es/models/models_0.js +17 -0
  3. package/dist-es/protocols/Aws_json1_1.js +21 -1
  4. package/dist-types/commands/CancelKeyDeletionCommand.d.ts +1 -1
  5. package/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +4 -4
  6. package/dist-types/commands/CreateAliasCommand.d.ts +7 -7
  7. package/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +6 -7
  8. package/dist-types/commands/CreateGrantCommand.d.ts +8 -7
  9. package/dist-types/commands/CreateKeyCommand.d.ts +21 -20
  10. package/dist-types/commands/DecryptCommand.d.ts +17 -16
  11. package/dist-types/commands/DeleteAliasCommand.d.ts +1 -1
  12. package/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +4 -4
  13. package/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +14 -5
  14. package/dist-types/commands/DeriveSharedSecretCommand.d.ts +40 -33
  15. package/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +3 -3
  16. package/dist-types/commands/DescribeKeyCommand.d.ts +79 -78
  17. package/dist-types/commands/DisableKeyCommand.d.ts +5 -6
  18. package/dist-types/commands/DisableKeyRotationCommand.d.ts +4 -4
  19. package/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +4 -4
  20. package/dist-types/commands/EnableKeyCommand.d.ts +5 -4
  21. package/dist-types/commands/EnableKeyRotationCommand.d.ts +12 -14
  22. package/dist-types/commands/EncryptCommand.d.ts +4 -4
  23. package/dist-types/commands/GenerateDataKeyCommand.d.ts +5 -4
  24. package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +5 -4
  25. package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +5 -4
  26. package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +5 -4
  27. package/dist-types/commands/GenerateMacCommand.d.ts +3 -3
  28. package/dist-types/commands/GenerateRandomCommand.d.ts +2 -3
  29. package/dist-types/commands/GetKeyPolicyCommand.d.ts +1 -1
  30. package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +12 -11
  31. package/dist-types/commands/GetParametersForImportCommand.d.ts +7 -7
  32. package/dist-types/commands/GetPublicKeyCommand.d.ts +8 -8
  33. package/dist-types/commands/ImportKeyMaterialCommand.d.ts +54 -38
  34. package/dist-types/commands/ListAliasesCommand.d.ts +4 -5
  35. package/dist-types/commands/ListGrantsCommand.d.ts +3 -3
  36. package/dist-types/commands/ListKeyPoliciesCommand.d.ts +1 -1
  37. package/dist-types/commands/ListKeyRotationsCommand.d.ts +22 -4
  38. package/dist-types/commands/ListKeysCommand.d.ts +1 -1
  39. package/dist-types/commands/ListResourceTagsCommand.d.ts +3 -3
  40. package/dist-types/commands/ListRetirableGrantsCommand.d.ts +3 -3
  41. package/dist-types/commands/PutKeyPolicyCommand.d.ts +6 -4
  42. package/dist-types/commands/ReEncryptCommand.d.ts +12 -13
  43. package/dist-types/commands/ReplicateKeyCommand.d.ts +10 -13
  44. package/dist-types/commands/RetireGrantCommand.d.ts +6 -7
  45. package/dist-types/commands/RevokeGrantCommand.d.ts +5 -5
  46. package/dist-types/commands/RotateKeyOnDemandCommand.d.ts +33 -23
  47. package/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +15 -15
  48. package/dist-types/commands/SignCommand.d.ts +19 -19
  49. package/dist-types/commands/TagResourceCommand.d.ts +6 -5
  50. package/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  51. package/dist-types/commands/UpdateAliasCommand.d.ts +4 -3
  52. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +12 -12
  53. package/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +1 -1
  54. package/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +2 -2
  55. package/dist-types/commands/VerifyCommand.d.ts +4 -4
  56. package/dist-types/commands/VerifyMacCommand.d.ts +3 -3
  57. package/dist-types/models/models_0.d.ts +420 -150
  58. package/dist-types/ts3.4/commands/DeleteImportedKeyMaterialCommand.d.ts +7 -3
  59. package/dist-types/ts3.4/commands/ImportKeyMaterialCommand.d.ts +1 -1
  60. package/dist-types/ts3.4/models/models_0.d.ts +50 -1
  61. package/package.json +11 -11
@@ -74,8 +74,8 @@ declare const DecryptCommand_base: {
74
74
  * the <code>Decrypt</code> operation fails. This practice ensures that you use the KMS key that
75
75
  * you intend.</p>
76
76
  * <p>Whenever possible, use key policies to give users permission to call the
77
- * <code>Decrypt</code> operation on a particular KMS key, instead of using &IAM; policies.
78
- * Otherwise, you might create an &IAM; policy that gives the user <code>Decrypt</code>
77
+ * <code>Decrypt</code> operation on a particular KMS key, instead of using IAM policies.
78
+ * Otherwise, you might create an IAM policy that gives the user <code>Decrypt</code>
79
79
  * permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys
80
80
  * in other accounts if the key policy for the cross-account KMS key permits it. If you must use
81
81
  * an IAM policy for <code>Decrypt</code> permissions, limit the user to particular KMS keys or
@@ -123,7 +123,7 @@ declare const DecryptCommand_base: {
123
123
  * </ul>
124
124
  * <p>
125
125
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
126
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
126
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
127
127
  * @example
128
128
  * Use a bare-bones client and the command you need to make an API call.
129
129
  * ```javascript
@@ -153,6 +153,7 @@ declare const DecryptCommand_base: {
153
153
  * // Plaintext: new Uint8Array(),
154
154
  * // EncryptionAlgorithm: "SYMMETRIC_DEFAULT" || "RSAES_OAEP_SHA_1" || "RSAES_OAEP_SHA_256" || "SM2PKE",
155
155
  * // CiphertextForRecipient: new Uint8Array(),
156
+ * // KeyMaterialId: "STRING_VALUE",
156
157
  * // };
157
158
  *
158
159
  * ```
@@ -207,8 +208,8 @@ declare const DecryptCommand_base: {
207
208
  * messages, the <code>KeyUsage</code> must be <code>SIGN_VERIFY</code>. For generating and
208
209
  * verifying message authentication codes (MACs), the <code>KeyUsage</code> must be
209
210
  * <code>GENERATE_VERIFY_MAC</code>. For deriving key agreement secrets, the
210
- * <code>KeyUsage</code> must be <code>KEY_AGREEMENT</code>. To find the <code>KeyUsage</code> of a KMS key, use the
211
- * <a>DescribeKey</a> operation.</p>
211
+ * <code>KeyUsage</code> must be <code>KEY_AGREEMENT</code>. To find the <code>KeyUsage</code>
212
+ * of a KMS key, use the <a>DescribeKey</a> operation.</p>
212
213
  * <p>To find the encryption or signing algorithms supported for a particular KMS key, use the
213
214
  * <a>DescribeKey</a> operation.</p>
214
215
  *
@@ -248,38 +249,38 @@ declare const DecryptCommand_base: {
248
249
  * <p>Base exception class for all service exceptions from KMS service.</p>
249
250
  *
250
251
  *
251
- * @example To decrypt data with a symmetric encryption KMS key
252
+ * @example To decrypt data with an asymmetric encryption KMS key
252
253
  * ```javascript
253
- * // The following example decrypts data that was encrypted with a symmetric encryption KMS key. The KeyId is not required when decrypting with a symmetric encryption key, but it is a best practice.
254
+ * // The following example decrypts data that was encrypted with an asymmetric encryption KMS key. When the KMS encryption key is asymmetric, you must specify the KMS key ID and the encryption algorithm that was used to encrypt the data.
254
255
  * const input = {
255
256
  * CiphertextBlob: "<binary data>",
256
- * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
257
+ * EncryptionAlgorithm: "RSAES_OAEP_SHA_256",
258
+ * KeyId: "0987dcba-09fe-87dc-65ba-ab0987654321"
257
259
  * };
258
260
  * const command = new DecryptCommand(input);
259
261
  * const response = await client.send(command);
260
262
  * /* response is
261
263
  * {
262
- * EncryptionAlgorithm: "SYMMETRIC_DEFAULT",
263
- * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
264
+ * EncryptionAlgorithm: "RSAES_OAEP_SHA_256",
265
+ * KeyId: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
264
266
  * Plaintext: "<binary data>"
265
267
  * }
266
268
  * *\/
267
269
  * ```
268
270
  *
269
- * @example To decrypt data with an asymmetric encryption KMS key
271
+ * @example To decrypt data with a symmetric encryption KMS key
270
272
  * ```javascript
271
- * // The following example decrypts data that was encrypted with an asymmetric encryption KMS key. When the KMS encryption key is asymmetric, you must specify the KMS key ID and the encryption algorithm that was used to encrypt the data.
273
+ * // The following example decrypts data that was encrypted with a symmetric encryption KMS key. The KeyId is not required when decrypting with a symmetric encryption key, but it is a best practice.
272
274
  * const input = {
273
275
  * CiphertextBlob: "<binary data>",
274
- * EncryptionAlgorithm: "RSAES_OAEP_SHA_256",
275
- * KeyId: "0987dcba-09fe-87dc-65ba-ab0987654321"
276
+ * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
276
277
  * };
277
278
  * const command = new DecryptCommand(input);
278
279
  * const response = await client.send(command);
279
280
  * /* response is
280
281
  * {
281
- * EncryptionAlgorithm: "RSAES_OAEP_SHA_256",
282
- * KeyId: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
282
+ * EncryptionAlgorithm: "SYMMETRIC_DEFAULT",
283
+ * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
283
284
  * Plaintext: "<binary data>"
284
285
  * }
285
286
  * *\/
@@ -77,7 +77,7 @@ declare const DeleteAliasCommand_base: {
77
77
  * </ul>
78
78
  * <p>
79
79
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
80
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
80
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
81
81
  * @example
82
82
  * Use a bare-bones client and the command you need to make an API call.
83
83
  * ```javascript
@@ -27,16 +27,16 @@ declare const DeleteCustomKeyStoreCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Deletes a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. This operation does not affect any backing elements of the
30
+ * <p>Deletes a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>. This operation does not affect any backing elements of the
31
31
  * custom key store. It does not delete the CloudHSM cluster that is associated with an CloudHSM key
32
32
  * store, or affect any users or keys in the cluster. For an external key store, it does not
33
33
  * affect the external key store proxy, external key manager, or any external keys.</p>
34
- * <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
34
+ * <p> This operation is part of the custom key stores feature in KMS, which
35
35
  * combines the convenience and extensive integration of KMS with the isolation and control of a
36
36
  * key store that you own and manage.</p>
37
37
  * <p>The custom key store that you delete cannot contain any <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys">KMS keys</a>. Before deleting the key store,
38
38
  * verify that you will never need to use any of the KMS keys in the key store for any
39
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>. Then, use <a>ScheduleKeyDeletion</a> to delete the KMS keys from the
39
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations">cryptographic operations</a>. Then, use <a>ScheduleKeyDeletion</a> to delete the KMS keys from the
40
40
  * key store. After the required waiting period expires and all KMS keys are deleted from the
41
41
  * custom key store, use <a>DisconnectCustomKeyStore</a> to disconnect the key store
42
42
  * from KMS. Then, you can delete the custom key store.</p>
@@ -88,7 +88,7 @@ declare const DeleteCustomKeyStoreCommand_base: {
88
88
  * </ul>
89
89
  * <p>
90
90
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
91
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
91
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
92
92
  * @example
93
93
  * Use a bare-bones client and the command you need to make an API call.
94
94
  * ```javascript
@@ -1,7 +1,7 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
3
  import { KMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KMSClient";
4
- import { DeleteImportedKeyMaterialRequest } from "../models/models_0";
4
+ import { DeleteImportedKeyMaterialRequest, DeleteImportedKeyMaterialResponse } from "../models/models_0";
5
5
  /**
6
6
  * @public
7
7
  */
@@ -19,7 +19,7 @@ export interface DeleteImportedKeyMaterialCommandInput extends DeleteImportedKey
19
19
  *
20
20
  * The output of {@link DeleteImportedKeyMaterialCommand}.
21
21
  */
22
- export interface DeleteImportedKeyMaterialCommandOutput extends __MetadataBearer {
22
+ export interface DeleteImportedKeyMaterialCommandOutput extends DeleteImportedKeyMaterialResponse, __MetadataBearer {
23
23
  }
24
24
  declare const DeleteImportedKeyMaterialCommand_base: {
25
25
  new (input: DeleteImportedKeyMaterialCommandInput): import("@smithy/smithy-client").CommandImpl<DeleteImportedKeyMaterialCommandInput, DeleteImportedKeyMaterialCommandOutput, KMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
@@ -51,13 +51,18 @@ declare const DeleteImportedKeyMaterialCommand_base: {
51
51
  * </li>
52
52
  * <li>
53
53
  * <p>
54
+ * <a>ListKeyRotations</a>
55
+ * </p>
56
+ * </li>
57
+ * <li>
58
+ * <p>
54
59
  * <a>ImportKeyMaterial</a>
55
60
  * </p>
56
61
  * </li>
57
62
  * </ul>
58
63
  * <p>
59
64
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
60
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
65
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
61
66
  * @example
62
67
  * Use a bare-bones client and the command you need to make an API call.
63
68
  * ```javascript
@@ -66,10 +71,14 @@ declare const DeleteImportedKeyMaterialCommand_base: {
66
71
  * const client = new KMSClient(config);
67
72
  * const input = { // DeleteImportedKeyMaterialRequest
68
73
  * KeyId: "STRING_VALUE", // required
74
+ * KeyMaterialId: "STRING_VALUE",
69
75
  * };
70
76
  * const command = new DeleteImportedKeyMaterialCommand(input);
71
77
  * const response = await client.send(command);
72
- * // {};
78
+ * // { // DeleteImportedKeyMaterialResponse
79
+ * // KeyId: "STRING_VALUE",
80
+ * // KeyMaterialId: "STRING_VALUE",
81
+ * // };
73
82
  *
74
83
  * ```
75
84
  *
@@ -143,7 +152,7 @@ export declare class DeleteImportedKeyMaterialCommand extends DeleteImportedKeyM
143
152
  protected static __types: {
144
153
  api: {
145
154
  input: DeleteImportedKeyMaterialRequest;
146
- output: {};
155
+ output: DeleteImportedKeyMaterialResponse;
147
156
  };
148
157
  sdk: {
149
158
  input: DeleteImportedKeyMaterialCommandInput;
@@ -29,58 +29,65 @@ declare const DeriveSharedSecretCommand_base: {
29
29
  /**
30
30
  * <p>Derives a shared secret using a key agreement algorithm.</p>
31
31
  * <note>
32
- * <p>You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only)
33
- * KMS key pair with a <code>KeyUsage</code> value of <code>KEY_AGREEMENT</code> to call DeriveSharedSecret.</p>
32
+ * <p>You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions
33
+ * only) KMS key pair with a <code>KeyUsage</code> value of <code>KEY_AGREEMENT</code> to call
34
+ * DeriveSharedSecret.</p>
34
35
  * </note>
35
- * <p>DeriveSharedSecret uses the <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60">Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive</a> (ECDH) to
36
- * establish a key agreement between two peers by deriving a shared secret from their elliptic curve
37
- * public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to derive
38
- * a symmetric key that can encrypt and decrypt data that is sent between the two peers, or that can
39
- * generate and verify HMACs. KMS recommends that you follow <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf">NIST recommendations for key derivation</a> when using the raw shared secret to derive a
36
+ * <p>DeriveSharedSecret uses the <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60">Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive</a> (ECDH) to establish a
37
+ * key agreement between two peers by deriving a shared secret from their elliptic curve
38
+ * public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to
39
+ * derive a symmetric key that can encrypt and decrypt data that is sent between the two peers,
40
+ * or that can generate and verify HMACs. KMS recommends that you follow <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf">NIST
41
+ * recommendations for key derivation</a> when using the raw shared secret to derive a
40
42
  * symmetric key.</p>
41
- * <p>The following workflow demonstrates how to establish key agreement over an insecure communication
42
- * channel using DeriveSharedSecret.</p>
43
+ * <p>The following workflow demonstrates how to establish key agreement over an insecure
44
+ * communication channel using DeriveSharedSecret.</p>
43
45
  * <ol>
44
46
  * <li>
45
47
  * <p>
46
- * <b>Alice</b> calls <a>CreateKey</a> to create an asymmetric
47
- * KMS key pair with a <code>KeyUsage</code> value of <code>KEY_AGREEMENT</code>.</p>
48
- * <p>The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key spec.</p>
48
+ * <b>Alice</b> calls <a>CreateKey</a> to create an
49
+ * asymmetric KMS key pair with a <code>KeyUsage</code> value of
50
+ * <code>KEY_AGREEMENT</code>.</p>
51
+ * <p>The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China
52
+ * Regions only) key spec.</p>
49
53
  * </li>
50
54
  * <li>
51
55
  * <p>
52
56
  * <b>Bob</b> creates an elliptic curve key pair.</p>
53
- * <p>Bob can call <a>CreateKey</a> to create an asymmetric KMS key
54
- * pair or generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended elliptic curve (ECC)
55
- * or SM2 (China Regions ony) curve as Alice.</p>
57
+ * <p>Bob can call <a>CreateKey</a> to create an asymmetric KMS key pair or
58
+ * generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended
59
+ * elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.</p>
56
60
  * </li>
57
61
  * <li>
58
- * <p>Alice and Bob <b>exchange their public keys</b>
59
- * through an insecure communication channel (like the internet).</p>
60
- * <p>Use <a>GetPublicKey</a> to download the public key of your asymmetric KMS key pair.</p>
62
+ * <p>Alice and Bob <b>exchange their public keys</b> through an
63
+ * insecure communication channel (like the internet).</p>
64
+ * <p>Use <a>GetPublicKey</a> to download the public key of your asymmetric KMS
65
+ * key pair.</p>
61
66
  * <note>
62
- * <p>KMS strongly recommends verifying that the public key you receive came from the expected
63
- * party before using it to derive a shared secret.</p>
67
+ * <p>KMS strongly recommends verifying that the public key you receive came from the
68
+ * expected party before using it to derive a shared secret.</p>
64
69
  * </note>
65
70
  * </li>
66
71
  * <li>
67
72
  * <p>
68
73
  * <b>Alice</b> calls DeriveSharedSecret.</p>
69
- * <p>KMS uses the private key from the KMS key pair generated in <b>Step 1</b>,
70
- * Bob's public key, and the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to derive the
71
- * shared secret. The private key in your KMS key pair never leaves KMS unencrypted. DeriveSharedSecret
72
- * returns the raw shared secret.</p>
74
+ * <p>KMS uses the private key from the KMS key pair generated in <b>Step 1</b>, Bob's public key, and the Elliptic Curve Cryptography Cofactor
75
+ * Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair
76
+ * never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.</p>
73
77
  * </li>
74
78
  * <li>
75
79
  * <p>
76
- * <b>Bob</b> uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman
77
- * Primitive to calculate the same raw secret using his private key and Alice's public key.</p>
80
+ * <b>Bob</b> uses the Elliptic Curve Cryptography Cofactor
81
+ * Diffie-Hellman Primitive to calculate the same raw secret using his private key and
82
+ * Alice's public key.</p>
78
83
  * </li>
79
84
  * </ol>
80
- * <p>To derive a shared secret you must provide a key agreement algorithm, the private key of the caller's asymmetric NIST-recommended
81
- * elliptic curve or SM2 (China Regions only) KMS key pair, and the public key from your peer's NIST-recommended elliptic curve
82
- * or SM2 (China Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a key pair generated outside
83
- * of KMS, but both key pairs must be on the same elliptic curve.</p>
85
+ * <p>To derive a shared secret you must provide a key agreement algorithm, the private key of
86
+ * the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key
87
+ * pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China
88
+ * Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a
89
+ * key pair generated outside of KMS, but both key pairs must be on the same elliptic
90
+ * curve.</p>
84
91
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
85
92
  * 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>
86
93
  * <p>
@@ -110,7 +117,7 @@ declare const DeriveSharedSecretCommand_base: {
110
117
  * </ul>
111
118
  * <p>
112
119
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
113
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
120
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
114
121
  * @example
115
122
  * Use a bare-bones client and the command you need to make an API call.
116
123
  * ```javascript
@@ -178,8 +185,8 @@ declare const DeriveSharedSecretCommand_base: {
178
185
  * messages, the <code>KeyUsage</code> must be <code>SIGN_VERIFY</code>. For generating and
179
186
  * verifying message authentication codes (MACs), the <code>KeyUsage</code> must be
180
187
  * <code>GENERATE_VERIFY_MAC</code>. For deriving key agreement secrets, the
181
- * <code>KeyUsage</code> must be <code>KEY_AGREEMENT</code>. To find the <code>KeyUsage</code> of a KMS key, use the
182
- * <a>DescribeKey</a> operation.</p>
188
+ * <code>KeyUsage</code> must be <code>KEY_AGREEMENT</code>. To find the <code>KeyUsage</code>
189
+ * of a KMS key, use the <a>DescribeKey</a> operation.</p>
183
190
  * <p>To find the encryption or signing algorithms supported for a particular KMS key, use the
184
191
  * <a>DescribeKey</a> operation.</p>
185
192
  *
@@ -27,8 +27,8 @@ declare const DescribeCustomKeyStoresCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Gets information about <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key stores</a> in the account and Region.</p>
31
- * <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
30
+ * <p>Gets information about <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key stores</a> in the account and Region.</p>
31
+ * <p> This operation is part of the custom key stores feature in KMS, which
32
32
  * combines the convenience and extensive integration of KMS with the isolation and control of a
33
33
  * key store that you own and manage.</p>
34
34
  * <p>By default, this operation returns information about all custom key stores in the account
@@ -88,7 +88,7 @@ declare const DescribeCustomKeyStoresCommand_base: {
88
88
  * </ul>
89
89
  * <p>
90
90
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
91
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
91
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
92
92
  * @example
93
93
  * Use a bare-bones client and the command you need to make an API call.
94
94
  * ```javascript
@@ -48,8 +48,8 @@ declare const DescribeKeyCommand_base: {
48
48
  * <li>
49
49
  * <p>Whether automatic key rotation is enabled on the KMS key. To get this information, use
50
50
  * <a>GetKeyRotationStatus</a>. Also, some key states prevent a KMS key from
51
- * being automatically rotated. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works">How Automatic Key Rotation
52
- * Works</a> in the <i>Key Management Service Developer Guide</i>.</p>
51
+ * being automatically rotated. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works">How key rotation
52
+ * works</a> in the <i>Key Management Service Developer Guide</i>.</p>
53
53
  * </li>
54
54
  * <li>
55
55
  * <p>Tags on the KMS key. To get this information, use <a>ListResourceTags</a>.</p>
@@ -110,7 +110,7 @@ declare const DescribeKeyCommand_base: {
110
110
  * </ul>
111
111
  * <p>
112
112
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
113
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
113
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
114
114
  * @example
115
115
  * Use a bare-bones client and the command you need to make an API call.
116
116
  * ```javascript
@@ -174,6 +174,7 @@ declare const DescribeKeyCommand_base: {
174
174
  * // XksKeyConfiguration: { // XksKeyConfigurationType
175
175
  * // Id: "STRING_VALUE",
176
176
  * // },
177
+ * // CurrentKeyMaterialId: "STRING_VALUE",
177
178
  * // },
178
179
  * // };
179
180
  *
@@ -205,38 +206,71 @@ declare const DescribeKeyCommand_base: {
205
206
  * <p>Base exception class for all service exceptions from KMS service.</p>
206
207
  *
207
208
  *
208
- * @example To get details about an RSA asymmetric KMS key
209
+ * @example To get details about a KMS key in an AWS CloudHSM key store
209
210
  * ```javascript
210
- * // The following example gets metadata for an asymmetric RSA KMS key used for signing and verification.
211
+ * // The following example gets the metadata of a KMS key in an AWS CloudHSM key store.
211
212
  * const input = {
212
- * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab"
213
+ * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
213
214
  * };
214
215
  * const command = new DescribeKeyCommand(input);
215
216
  * const response = await client.send(command);
216
217
  * /* response is
217
218
  * {
218
219
  * KeyMetadata: {
219
- * AWSAccountId: "111122223333",
220
- * Arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
221
- * CreationDate: 1.571767572317E9,
222
- * CustomerMasterKeySpec: "RSA_2048",
223
- * Description: "",
224
- * Enabled: false,
220
+ * AWSAccountId: "123456789012",
221
+ * Arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
222
+ * CloudHsmClusterId: "cluster-234abcdefABC",
223
+ * CreationDate: 1.646160362664E9,
224
+ * CustomKeyStoreId: "cks-1234567890abcdef0",
225
+ * CustomerMasterKeySpec: "SYMMETRIC_DEFAULT",
226
+ * Description: "CloudHSM key store test key",
227
+ * Enabled: true,
228
+ * EncryptionAlgorithms: [
229
+ * "SYMMETRIC_DEFAULT"
230
+ * ],
225
231
  * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab",
226
232
  * KeyManager: "CUSTOMER",
227
- * KeySpec: "RSA_2048",
228
- * KeyState: "Disabled",
229
- * KeyUsage: "SIGN_VERIFY",
233
+ * KeySpec: "SYMMETRIC_DEFAULT",
234
+ * KeyState: "Enabled",
235
+ * KeyUsage: "ENCRYPT_DECRYPT",
230
236
  * MultiRegion: false,
231
- * Origin: "AWS_KMS",
232
- * SigningAlgorithms: [
233
- * "RSASSA_PKCS1_V1_5_SHA_256",
234
- * "RSASSA_PKCS1_V1_5_SHA_384",
235
- * "RSASSA_PKCS1_V1_5_SHA_512",
236
- * "RSASSA_PSS_SHA_256",
237
- * "RSASSA_PSS_SHA_384",
238
- * "RSASSA_PSS_SHA_512"
239
- * ]
237
+ * Origin: "AWS_CLOUDHSM"
238
+ * }
239
+ * }
240
+ * *\/
241
+ * ```
242
+ *
243
+ * @example To get details about a KMS key in an external key store
244
+ * ```javascript
245
+ * // The following example gets the metadata of a KMS key in an external key store.
246
+ * const input = {
247
+ * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
248
+ * };
249
+ * const command = new DescribeKeyCommand(input);
250
+ * const response = await client.send(command);
251
+ * /* response is
252
+ * {
253
+ * KeyMetadata: {
254
+ * AWSAccountId: "123456789012",
255
+ * Arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
256
+ * CreationDate: 1.646160362664E9,
257
+ * CustomKeyStoreId: "cks-1234567890abcdef0",
258
+ * CustomerMasterKeySpec: "SYMMETRIC_DEFAULT",
259
+ * Description: "External key store test key",
260
+ * Enabled: true,
261
+ * EncryptionAlgorithms: [
262
+ * "SYMMETRIC_DEFAULT"
263
+ * ],
264
+ * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab",
265
+ * KeyManager: "CUSTOMER",
266
+ * KeySpec: "SYMMETRIC_DEFAULT",
267
+ * KeyState: "Enabled",
268
+ * KeyUsage: "ENCRYPT_DECRYPT",
269
+ * MultiRegion: false,
270
+ * Origin: "EXTERNAL_KEY_STORE",
271
+ * XksKeyConfiguration: {
272
+ * Id: "bb8562717f809024"
273
+ * }
240
274
  * }
241
275
  * }
242
276
  * *\/
@@ -325,71 +359,38 @@ declare const DescribeKeyCommand_base: {
325
359
  * *\/
326
360
  * ```
327
361
  *
328
- * @example To get details about a KMS key in an AWS CloudHSM key store
329
- * ```javascript
330
- * // The following example gets the metadata of a KMS key in an AWS CloudHSM key store.
331
- * const input = {
332
- * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
333
- * };
334
- * const command = new DescribeKeyCommand(input);
335
- * const response = await client.send(command);
336
- * /* response is
337
- * {
338
- * KeyMetadata: {
339
- * AWSAccountId: "123456789012",
340
- * Arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
341
- * CloudHsmClusterId: "cluster-234abcdefABC",
342
- * CreationDate: 1.646160362664E9,
343
- * CustomKeyStoreId: "cks-1234567890abcdef0",
344
- * CustomerMasterKeySpec: "SYMMETRIC_DEFAULT",
345
- * Description: "CloudHSM key store test key",
346
- * Enabled: true,
347
- * EncryptionAlgorithms: [
348
- * "SYMMETRIC_DEFAULT"
349
- * ],
350
- * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab",
351
- * KeyManager: "CUSTOMER",
352
- * KeySpec: "SYMMETRIC_DEFAULT",
353
- * KeyState: "Enabled",
354
- * KeyUsage: "ENCRYPT_DECRYPT",
355
- * MultiRegion: false,
356
- * Origin: "AWS_CLOUDHSM"
357
- * }
358
- * }
359
- * *\/
360
- * ```
361
- *
362
- * @example To get details about a KMS key in an external key store
362
+ * @example To get details about an RSA asymmetric KMS key
363
363
  * ```javascript
364
- * // The following example gets the metadata of a KMS key in an external key store.
364
+ * // The following example gets metadata for an asymmetric RSA KMS key used for signing and verification.
365
365
  * const input = {
366
- * KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
366
+ * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab"
367
367
  * };
368
368
  * const command = new DescribeKeyCommand(input);
369
369
  * const response = await client.send(command);
370
370
  * /* response is
371
371
  * {
372
372
  * KeyMetadata: {
373
- * AWSAccountId: "123456789012",
374
- * Arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
375
- * CreationDate: 1.646160362664E9,
376
- * CustomKeyStoreId: "cks-1234567890abcdef0",
377
- * CustomerMasterKeySpec: "SYMMETRIC_DEFAULT",
378
- * Description: "External key store test key",
379
- * Enabled: true,
380
- * EncryptionAlgorithms: [
381
- * "SYMMETRIC_DEFAULT"
382
- * ],
373
+ * AWSAccountId: "111122223333",
374
+ * Arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
375
+ * CreationDate: 1.571767572317E9,
376
+ * CustomerMasterKeySpec: "RSA_2048",
377
+ * Description: "",
378
+ * Enabled: false,
383
379
  * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab",
384
380
  * KeyManager: "CUSTOMER",
385
- * KeySpec: "SYMMETRIC_DEFAULT",
386
- * KeyState: "Enabled",
387
- * KeyUsage: "ENCRYPT_DECRYPT",
381
+ * KeySpec: "RSA_2048",
382
+ * KeyState: "Disabled",
383
+ * KeyUsage: "SIGN_VERIFY",
388
384
  * MultiRegion: false,
389
- * Origin: "EXTERNAL_KEY_STORE",
390
- * XksKeyConfiguration: {
391
- * Id: "bb8562717f809024"
392
- * }
385
+ * Origin: "AWS_KMS",
386
+ * SigningAlgorithms: [
387
+ * "RSASSA_PKCS1_V1_5_SHA_256",
388
+ * "RSASSA_PKCS1_V1_5_SHA_384",
389
+ * "RSASSA_PKCS1_V1_5_SHA_512",
390
+ * "RSASSA_PSS_SHA_256",
391
+ * "RSASSA_PSS_SHA_384",
392
+ * "RSASSA_PSS_SHA_512"
393
+ * ]
393
394
  * }
394
395
  * }
395
396
  * *\/
@@ -28,13 +28,12 @@ declare const DisableKeyCommand_base: {
28
28
  };
29
29
  /**
30
30
  * <p>Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS
31
- * key for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>. </p>
32
- * <p>For more information about how key state affects the use of a KMS key, see
33
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>
31
+ * key for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations">cryptographic operations</a>. </p>
32
+ * <p>The KMS key that you use for this operation must be in a compatible key state. For more
33
+ * 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
34
+ * <i>
34
35
  * <i>Key Management Service Developer Guide</i>
35
36
  * </i>.</p>
36
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
37
- * 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>
38
37
  * <p>
39
38
  * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
40
39
  * <p>
@@ -44,7 +43,7 @@ declare const DisableKeyCommand_base: {
44
43
  * </p>
45
44
  * <p>
46
45
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
47
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
46
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
48
47
  * @example
49
48
  * Use a bare-bones client and the command you need to make an API call.
50
49
  * ```javascript
@@ -27,10 +27,10 @@ declare const DisableKeyRotationCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Disables <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic
31
- * rotation of the key material</a> of the specified symmetric encryption KMS key.</p>
30
+ * <p>Disables <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html">automatic rotation of the key material</a> of the specified symmetric encryption KMS
31
+ * key.</p>
32
32
  * <p>Automatic key rotation is supported only on symmetric encryption KMS keys.
33
- * 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>
33
+ * 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/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/rotate-keys.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key.</p>
34
34
  * <p>You can enable (<a>EnableKeyRotation</a>) and disable automatic rotation of the
35
35
  * 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
36
36
  * 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
@@ -72,7 +72,7 @@ declare const DisableKeyRotationCommand_base: {
72
72
  * </ul>
73
73
  * <p>
74
74
  * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
75
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">KMS eventual consistency</a>.</p>
75
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
76
76
  * @example
77
77
  * Use a bare-bones client and the command you need to make an API call.
78
78
  * ```javascript