@aws-sdk/client-kms 3.363.0 → 3.366.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 (49) hide show
  1. package/dist-cjs/models/models_0.js +15 -2
  2. package/dist-cjs/protocols/Aws_json1_1.js +60 -0
  3. package/dist-es/models/models_0.js +12 -0
  4. package/dist-es/protocols/Aws_json1_1.js +61 -1
  5. package/dist-types/commands/CancelKeyDeletionCommand.d.ts +3 -1
  6. package/dist-types/commands/CreateAliasCommand.d.ts +3 -1
  7. package/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +11 -8
  8. package/dist-types/commands/CreateGrantCommand.d.ts +9 -1
  9. package/dist-types/commands/CreateKeyCommand.d.ts +16 -13
  10. package/dist-types/commands/DecryptCommand.d.ts +10 -2
  11. package/dist-types/commands/DeleteAliasCommand.d.ts +3 -1
  12. package/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +3 -1
  13. package/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +2 -2
  14. package/dist-types/commands/DisableKeyCommand.d.ts +3 -1
  15. package/dist-types/commands/DisableKeyRotationCommand.d.ts +3 -1
  16. package/dist-types/commands/EnableKeyCommand.d.ts +3 -1
  17. package/dist-types/commands/EnableKeyRotationCommand.d.ts +3 -1
  18. package/dist-types/commands/EncryptCommand.d.ts +10 -3
  19. package/dist-types/commands/GenerateDataKeyCommand.d.ts +17 -8
  20. package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +21 -11
  21. package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +13 -4
  22. package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +13 -4
  23. package/dist-types/commands/GenerateMacCommand.d.ts +12 -3
  24. package/dist-types/commands/GenerateRandomCommand.d.ts +1 -1
  25. package/dist-types/commands/GetKeyPolicyCommand.d.ts +3 -1
  26. package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +3 -1
  27. package/dist-types/commands/GetParametersForImportCommand.d.ts +7 -4
  28. package/dist-types/commands/GetPublicKeyCommand.d.ts +8 -7
  29. package/dist-types/commands/ImportKeyMaterialCommand.d.ts +4 -3
  30. package/dist-types/commands/ListGrantsCommand.d.ts +3 -1
  31. package/dist-types/commands/ListKeyPoliciesCommand.d.ts +3 -1
  32. package/dist-types/commands/PutKeyPolicyCommand.d.ts +3 -1
  33. package/dist-types/commands/ReEncryptCommand.d.ts +9 -1
  34. package/dist-types/commands/ReplicateKeyCommand.d.ts +3 -1
  35. package/dist-types/commands/RetireGrantCommand.d.ts +9 -1
  36. package/dist-types/commands/RevokeGrantCommand.d.ts +9 -1
  37. package/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +6 -4
  38. package/dist-types/commands/SignCommand.d.ts +9 -1
  39. package/dist-types/commands/TagResourceCommand.d.ts +3 -1
  40. package/dist-types/commands/UntagResourceCommand.d.ts +3 -1
  41. package/dist-types/commands/UpdateAliasCommand.d.ts +3 -1
  42. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +5 -3
  43. package/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +3 -1
  44. package/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +3 -1
  45. package/dist-types/commands/VerifyCommand.d.ts +17 -10
  46. package/dist-types/commands/VerifyMacCommand.d.ts +9 -1
  47. package/dist-types/models/models_0.d.ts +228 -126
  48. package/dist-types/ts3.4/models/models_0.d.ts +21 -0
  49. package/package.json +1 -1
@@ -63,11 +63,14 @@ export interface CreateKeyCommandOutput extends CreateKeyResponse, __MetadataBea
63
63
  * the type of key material in the KMS key. Then, use the <code>KeyUsage</code> parameter
64
64
  * to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.
65
65
  * You can't change these properties after the KMS key is created.</p>
66
- * <p>Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric
67
- * KMS key never leaves KMS unencrypted. However, you can use the <a>GetPublicKey</a> operation to download the public key
68
- * so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both).
69
- * KMS keys with ECC key pairs can be used only to sign and verify messages.
70
- * For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
66
+ * <p>Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an
67
+ * SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves
68
+ * KMS unencrypted. However, you can use the <a>GetPublicKey</a> operation to
69
+ * download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key
70
+ * pairs can be used to encrypt or decrypt data or sign and verify messages (but not both).
71
+ * KMS keys with ECC key pairs can be used only to sign and verify messages. For
72
+ * information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the
73
+ * <i>Key Management Service Developer Guide</i>.</p>
71
74
  * <p> </p>
72
75
  * </dd>
73
76
  * <dt>HMAC KMS key</dt>
@@ -104,8 +107,8 @@ export interface CreateKeyCommandOutput extends CreateKeyResponse, __MetadataBea
104
107
  * <p>To import your own key material into a KMS key, begin by creating a KMS key with no
105
108
  * key material. To do this, use the <code>Origin</code> parameter of
106
109
  * <code>CreateKey</code> with a value of <code>EXTERNAL</code>. Next, use <a>GetParametersForImport</a> operation to get a public key and import token. Use
107
- * the wrapping public key to encrypt your key material. Then, use <a>ImportKeyMaterial</a> with your import token to import the key material. For step-by-step instructions, see
108
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a> in the <i>
110
+ * the wrapping public key to encrypt your key material. Then, use <a>ImportKeyMaterial</a> with your import token to import the key material. For
111
+ * step-by-step instructions, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a> in the <i>
109
112
  * <i>Key Management Service Developer Guide</i>
110
113
  * </i>.</p>
111
114
  * <p>You can import key material into KMS keys of all supported KMS key types: symmetric
@@ -147,9 +150,9 @@ export interface CreateKeyCommandOutput extends CreateKeyResponse, __MetadataBea
147
150
  * <code>Origin</code> parameter with a value of <code>AWS_CLOUDHSM</code>. The CloudHSM
148
151
  * cluster that is associated with the custom key store must have at least two active HSMs
149
152
  * in different Availability Zones in the Amazon Web Services Region.</p>
150
- * <p>To create a KMS key in an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html">external key store</a>, use the <code>Origin</code> parameter
151
- * with a value of <code>EXTERNAL_KEY_STORE</code> and an <code>XksKeyId</code> parameter
152
- * that identifies an existing external key.</p>
153
+ * <p>To create a KMS key in an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html">external key store</a>, use the
154
+ * <code>Origin</code> parameter with a value of <code>EXTERNAL_KEY_STORE</code> and an
155
+ * <code>XksKeyId</code> parameter that identifies an existing external key.</p>
153
156
  * <note>
154
157
  * <p>Some external key managers provide a simpler method for creating a KMS key in an
155
158
  * external key store. For details, see your external key manager documentation.</p>
@@ -380,9 +383,9 @@ export interface CreateKeyCommandOutput extends CreateKeyResponse, __MetadataBea
380
383
  * and decryption.</p>
381
384
  *
382
385
  * @throws {@link XksKeyNotFoundException} (client fault)
383
- * <p>The request was rejected because the external key store proxy could not find the external key. This
384
- * exception is thrown when the value of the <code>XksKeyId</code> parameter doesn't identify a
385
- * key in the external key manager associated with the external key proxy.</p>
386
+ * <p>The request was rejected because the external key store proxy could not find the external
387
+ * key. This exception is thrown when the value of the <code>XksKeyId</code> parameter doesn't
388
+ * identify a key in the external key manager associated with the external key proxy.</p>
386
389
  * <p>Verify that the <code>XksKeyId</code> represents an existing key in the external key
387
390
  * manager. Use the key identifier that the external key store proxy uses to identify the key.
388
391
  * For details, see the documentation provided with your external key store proxy or key
@@ -83,7 +83,7 @@ export interface DecryptCommandOutput extends DecryptResponse, __MetadataBearer
83
83
  * the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter to provide the
84
84
  * attestation document for the enclave. Instead of the plaintext data, the response includes the
85
85
  * plaintext data encrypted with the public key from the attestation document
86
- * (<code>CiphertextForRecipient</code>).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
86
+ * (<code>CiphertextForRecipient</code>).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
87
87
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
88
88
  * 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>
89
89
  * <p>
@@ -137,6 +137,7 @@ export interface DecryptCommandOutput extends DecryptResponse, __MetadataBearer
137
137
  * KeyEncryptionAlgorithm: "RSAES_OAEP_SHA_256",
138
138
  * AttestationDocument: "BLOB_VALUE",
139
139
  * },
140
+ * DryRun: true || false,
140
141
  * };
141
142
  * const command = new DecryptCommand(input);
142
143
  * const response = await client.send(command);
@@ -162,6 +163,11 @@ export interface DecryptCommandOutput extends DecryptResponse, __MetadataBearer
162
163
  * @throws {@link DisabledException} (client fault)
163
164
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
164
165
  *
166
+ * @throws {@link DryRunOperationException} (client fault)
167
+ * <p>
168
+ * The request was rejected because the DryRun parameter was specified.
169
+ * </p>
170
+ *
165
171
  * @throws {@link IncorrectKeyException} (client fault)
166
172
  * <p>The request was rejected because the specified KMS key cannot decrypt the data. The
167
173
  * <code>KeyId</code> in a <a>Decrypt</a> request and the <code>SourceKeyId</code>
@@ -222,7 +228,9 @@ export interface DecryptCommandOutput extends DecryptResponse, __MetadataBearer
222
228
  * </i>.</p>
223
229
  * </li>
224
230
  * <li>
225
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
231
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
232
+ * represents a general failure with many possible causes. To identify the cause, see the
233
+ * error message that accompanies the exception.</p>
226
234
  * </li>
227
235
  * </ul>
228
236
  *
@@ -114,7 +114,9 @@ export interface DeleteAliasCommandOutput extends __MetadataBearer {
114
114
  * </i>.</p>
115
115
  * </li>
116
116
  * <li>
117
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
117
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
118
+ * represents a general failure with many possible causes. To identify the cause, see the
119
+ * error message that accompanies the exception.</p>
118
120
  * </li>
119
121
  * </ul>
120
122
  *
@@ -98,7 +98,9 @@ export interface DeleteImportedKeyMaterialCommandOutput extends __MetadataBearer
98
98
  * </i>.</p>
99
99
  * </li>
100
100
  * <li>
101
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
101
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
102
+ * represents a general failure with many possible causes. To identify the cause, see the
103
+ * error message that accompanies the exception.</p>
102
104
  * </li>
103
105
  * </ul>
104
106
  *
@@ -46,8 +46,8 @@ export interface DescribeCustomKeyStoresCommandOutput extends DescribeCustomKeyS
46
46
  * any. For an external key store, verify that the external key store proxy and its associated
47
47
  * external key manager are reachable and enabled.</p>
48
48
  * <p> For help repairing your CloudHSM key store, see the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html">Troubleshooting CloudHSM key stores</a>. For help
49
- * repairing your external key store, see the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html">Troubleshooting external key stores</a>. Both
50
- * topics are in the <i>Key Management Service Developer Guide</i>.</p>
49
+ * repairing your external key store, see the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html">Troubleshooting external key stores</a>.
50
+ * Both topics are in the <i>Key Management Service Developer Guide</i>.</p>
51
51
  * <p>
52
52
  * <b>Cross-account use</b>: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.</p>
53
53
  * <p>
@@ -85,7 +85,9 @@ export interface DisableKeyCommandOutput extends __MetadataBearer {
85
85
  * </i>.</p>
86
86
  * </li>
87
87
  * <li>
88
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
88
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
89
+ * represents a general failure with many possible causes. To identify the cause, see the
90
+ * error message that accompanies the exception.</p>
89
91
  * </li>
90
92
  * </ul>
91
93
  *
@@ -106,7 +106,9 @@ export interface DisableKeyRotationCommandOutput extends __MetadataBearer {
106
106
  * </i>.</p>
107
107
  * </li>
108
108
  * <li>
109
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
109
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
110
+ * represents a general failure with many possible causes. To identify the cause, see the
111
+ * error message that accompanies the exception.</p>
110
112
  * </li>
111
113
  * </ul>
112
114
  *
@@ -81,7 +81,9 @@ export interface EnableKeyCommandOutput extends __MetadataBearer {
81
81
  * </i>.</p>
82
82
  * </li>
83
83
  * <li>
84
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
84
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
85
+ * represents a general failure with many possible causes. To identify the cause, see the
86
+ * error message that accompanies the exception.</p>
85
87
  * </li>
86
88
  * </ul>
87
89
  *
@@ -114,7 +114,9 @@ export interface EnableKeyRotationCommandOutput extends __MetadataBearer {
114
114
  * </i>.</p>
115
115
  * </li>
116
116
  * <li>
117
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
117
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
118
+ * represents a general failure with many possible causes. To identify the cause, see the
119
+ * error message that accompanies the exception.</p>
118
120
  * </li>
119
121
  * </ul>
120
122
  *
@@ -108,8 +108,7 @@ export interface EncryptCommandOutput extends EncryptResponse, __MetadataBearer
108
108
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
109
109
  * 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>
110
110
  * <p>
111
- * <b>Cross-account use</b>: Yes.
112
- * To perform this operation with a KMS key in a different Amazon Web Services account, specify
111
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
113
112
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
114
113
  * <p>
115
114
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:Encrypt</a> (key policy)</p>
@@ -149,6 +148,7 @@ export interface EncryptCommandOutput extends EncryptResponse, __MetadataBearer
149
148
  * "STRING_VALUE",
150
149
  * ],
151
150
  * EncryptionAlgorithm: "SYMMETRIC_DEFAULT" || "RSAES_OAEP_SHA_1" || "RSAES_OAEP_SHA_256" || "SM2PKE",
151
+ * DryRun: true || false,
152
152
  * };
153
153
  * const command = new EncryptCommand(input);
154
154
  * const response = await client.send(command);
@@ -173,6 +173,11 @@ export interface EncryptCommandOutput extends EncryptResponse, __MetadataBearer
173
173
  * @throws {@link DisabledException} (client fault)
174
174
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
175
175
  *
176
+ * @throws {@link DryRunOperationException} (client fault)
177
+ * <p>
178
+ * The request was rejected because the DryRun parameter was specified.
179
+ * </p>
180
+ *
176
181
  * @throws {@link InvalidGrantTokenException} (client fault)
177
182
  * <p>The request was rejected because the specified grant token is not valid.</p>
178
183
  *
@@ -219,7 +224,9 @@ export interface EncryptCommandOutput extends EncryptResponse, __MetadataBearer
219
224
  * </i>.</p>
220
225
  * </li>
221
226
  * <li>
222
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
227
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
228
+ * represents a general failure with many possible causes. To identify the cause, see the
229
+ * error message that accompanies the exception.</p>
223
230
  * </li>
224
231
  * </ul>
225
232
  *
@@ -25,18 +25,19 @@ export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, _
25
25
  * @public
26
26
  * <p>Returns a unique symmetric data key for use outside of KMS. This operation returns a
27
27
  * plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS
28
- * key that you specify. The bytes in the plaintext key are random; they are not related
29
- * to the caller or the KMS key. You can use the plaintext key to encrypt your data outside of KMS
30
- * and store the encrypted data key with the encrypted data.</p>
28
+ * key that you specify. The bytes in the plaintext key are random; they are not related to the
29
+ * caller or the KMS key. You can use the plaintext key to encrypt your data outside of KMS and
30
+ * store the encrypted data key with the encrypted data.</p>
31
31
  * <p>To generate a data key, specify the symmetric encryption KMS key that will be used to
32
32
  * encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the
33
33
  * type of your KMS key, use the <a>DescribeKey</a> operation.</p>
34
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
35
+ * <code>NumberOfBytes</code> parameters (but not both). For 128-bit and 256-bit data keys, use
36
36
  * the <code>KeySpec</code> parameter.</p>
37
- * <p>To generate a 128-bit SM4 data key (China Regions only), specify a <code>KeySpec</code> value of
38
- * <code>AES_128</code> or a <code>NumberOfBytes</code> value of <code>16</code>. The symmetric
39
- * encryption key used in China Regions to encrypt your data key is an SM4 encryption key.</p>
37
+ * <p>To generate a 128-bit SM4 data key (China Regions only), specify a <code>KeySpec</code>
38
+ * value of <code>AES_128</code> or a <code>NumberOfBytes</code> value of <code>16</code>. The
39
+ * symmetric encryption key used in China Regions to encrypt your data key is an SM4 encryption
40
+ * key.</p>
40
41
  * <p>To get only an encrypted copy of the data key, use <a>GenerateDataKeyWithoutPlaintext</a>. To generate an asymmetric data key pair, use
41
42
  * the <a>GenerateDataKeyPair</a> or <a>GenerateDataKeyPairWithoutPlaintext</a> operation. To get a cryptographically secure
42
43
  * random byte string, use <a>GenerateRandom</a>.</p>
@@ -145,6 +146,7 @@ export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, _
145
146
  * KeyEncryptionAlgorithm: "RSAES_OAEP_SHA_256",
146
147
  * AttestationDocument: "BLOB_VALUE",
147
148
  * },
149
+ * DryRun: true || false,
148
150
  * };
149
151
  * const command = new GenerateDataKeyCommand(input);
150
152
  * const response = await client.send(command);
@@ -170,6 +172,11 @@ export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, _
170
172
  * @throws {@link DisabledException} (client fault)
171
173
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
172
174
  *
175
+ * @throws {@link DryRunOperationException} (client fault)
176
+ * <p>
177
+ * The request was rejected because the DryRun parameter was specified.
178
+ * </p>
179
+ *
173
180
  * @throws {@link InvalidGrantTokenException} (client fault)
174
181
  * <p>The request was rejected because the specified grant token is not valid.</p>
175
182
  *
@@ -216,7 +223,9 @@ export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, _
216
223
  * </i>.</p>
217
224
  * </li>
218
225
  * <li>
219
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
226
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
227
+ * represents a general failure with many possible causes. To identify the cause, see the
228
+ * error message that accompanies the exception.</p>
220
229
  * </li>
221
230
  * </ul>
222
231
  *
@@ -36,9 +36,10 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
36
36
  * the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
37
37
  * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
38
38
  * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
39
- * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you use
40
- * ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not both.
41
- * However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.</p>
39
+ * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that
40
+ * you use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or
41
+ * signing, but not both. However, KMS cannot enforce any restrictions on the use of data key
42
+ * pairs outside of KMS.</p>
42
43
  * <p>If you are using the data key pair to encrypt data, or for any operation where you don't
43
44
  * immediately need a private key, consider using the <a>GenerateDataKeyPairWithoutPlaintext</a> operation.
44
45
  * <code>GenerateDataKeyPairWithoutPlaintext</code> returns a plaintext public key and an
@@ -54,13 +55,14 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
54
55
  * key is a DER-encoded PKCS8 PrivateKeyInfo, as specified in <a href="https://tools.ietf.org/html/rfc5958">RFC 5958</a>.</p>
55
56
  * <p>
56
57
  * <code>GenerateDataKeyPair</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a>, which provide an
57
- * isolated compute environment in Amazon EC2. To call <code>GenerateDataKeyPair</code> for an Amazon Web Services Nitro
58
- * enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
59
- * to provide the attestation document for the enclave. <code>GenerateDataKeyPair</code> returns the public data key and a
60
- * copy of the private data key encrypted under the specified KMS key, as usual. But instead of a
61
- * plaintext copy of the private data key (<code>PrivateKeyPlaintext</code>), the response includes a copy of the private data key encrypted under
62
- * the public key from the attestation document (<code>CiphertextForRecipient</code>).
63
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
58
+ * isolated compute environment in Amazon EC2. To call <code>GenerateDataKeyPair</code> for an Amazon Web Services
59
+ * Nitro enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code>
60
+ * parameter to provide the attestation document for the enclave.
61
+ * <code>GenerateDataKeyPair</code> returns the public data key and a copy of the private data
62
+ * key encrypted under the specified KMS key, as usual. But instead of a plaintext copy of the
63
+ * private data key (<code>PrivateKeyPlaintext</code>), the response includes a copy of the
64
+ * private data key encrypted under the public key from the attestation document
65
+ * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
64
66
  * <p>You can use an optional encryption context to add additional security to the encryption
65
67
  * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
66
68
  * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
@@ -122,6 +124,7 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
122
124
  * KeyEncryptionAlgorithm: "RSAES_OAEP_SHA_256",
123
125
  * AttestationDocument: "BLOB_VALUE",
124
126
  * },
127
+ * DryRun: true || false,
125
128
  * };
126
129
  * const command = new GenerateDataKeyPairCommand(input);
127
130
  * const response = await client.send(command);
@@ -149,6 +152,11 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
149
152
  * @throws {@link DisabledException} (client fault)
150
153
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
151
154
  *
155
+ * @throws {@link DryRunOperationException} (client fault)
156
+ * <p>
157
+ * The request was rejected because the DryRun parameter was specified.
158
+ * </p>
159
+ *
152
160
  * @throws {@link InvalidGrantTokenException} (client fault)
153
161
  * <p>The request was rejected because the specified grant token is not valid.</p>
154
162
  *
@@ -195,7 +203,9 @@ export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairRes
195
203
  * </i>.</p>
196
204
  * </li>
197
205
  * <li>
198
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
206
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
207
+ * represents a general failure with many possible causes. To identify the cause, see the
208
+ * error message that accompanies the exception.</p>
199
209
  * </li>
200
210
  * </ul>
201
211
  *
@@ -35,9 +35,10 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
35
35
  * the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
36
36
  * custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
37
37
  * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
38
- * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you
39
- * use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not
40
- * both. However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.</p>
38
+ * key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that
39
+ * you use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or
40
+ * signing, but not both. However, KMS cannot enforce any restrictions on the use of data key
41
+ * pairs outside of KMS.</p>
41
42
  * <p>
42
43
  * <code>GenerateDataKeyPairWithoutPlaintext</code> returns a unique data key pair for each
43
44
  * request. The bytes in the key are not related to the caller or KMS key that is used to encrypt
@@ -101,6 +102,7 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
101
102
  * GrantTokens: [ // GrantTokenList
102
103
  * "STRING_VALUE",
103
104
  * ],
105
+ * DryRun: true || false,
104
106
  * };
105
107
  * const command = new GenerateDataKeyPairWithoutPlaintextCommand(input);
106
108
  * const response = await client.send(command);
@@ -126,6 +128,11 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
126
128
  * @throws {@link DisabledException} (client fault)
127
129
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
128
130
  *
131
+ * @throws {@link DryRunOperationException} (client fault)
132
+ * <p>
133
+ * The request was rejected because the DryRun parameter was specified.
134
+ * </p>
135
+ *
129
136
  * @throws {@link InvalidGrantTokenException} (client fault)
130
137
  * <p>The request was rejected because the specified grant token is not valid.</p>
131
138
  *
@@ -172,7 +179,9 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends Genera
172
179
  * </i>.</p>
173
180
  * </li>
174
181
  * <li>
175
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
182
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
183
+ * represents a general failure with many possible causes. To identify the cause, see the
184
+ * error message that accompanies the exception.</p>
176
185
  * </li>
177
186
  * </ul>
178
187
  *
@@ -42,10 +42,11 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
42
42
  * <p>To request an asymmetric data key pair, use the <a>GenerateDataKeyPair</a> or
43
43
  * <a>GenerateDataKeyPairWithoutPlaintext</a> operations.</p>
44
44
  * <p>To generate a data key, you must specify the symmetric encryption KMS key that is used to
45
- * 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
46
- * type of your KMS key, use the <a>DescribeKey</a> operation.</p>
45
+ * encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to
46
+ * generate a data key. To get the type of your KMS key, use the <a>DescribeKey</a>
47
+ * operation.</p>
47
48
  * <p>You must also specify the length of the data key. Use either the <code>KeySpec</code> or
48
- * <code>NumberOfBytes</code> parameters (but not both). For 128-bit and 256-bit data keys, use
49
+ * <code>NumberOfBytes</code> parameters (but not both). For 128-bit and 256-bit data keys, use
49
50
  * the <code>KeySpec</code> parameter.</p>
50
51
  * <p>To generate an SM4 data key (China Regions only), specify a <code>KeySpec</code> value of
51
52
  * <code>AES_128</code> or <code>NumberOfBytes</code> value of <code>16</code>. The symmetric
@@ -111,6 +112,7 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
111
112
  * GrantTokens: [ // GrantTokenList
112
113
  * "STRING_VALUE",
113
114
  * ],
115
+ * DryRun: true || false,
114
116
  * };
115
117
  * const command = new GenerateDataKeyWithoutPlaintextCommand(input);
116
118
  * const response = await client.send(command);
@@ -134,6 +136,11 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
134
136
  * @throws {@link DisabledException} (client fault)
135
137
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
136
138
  *
139
+ * @throws {@link DryRunOperationException} (client fault)
140
+ * <p>
141
+ * The request was rejected because the DryRun parameter was specified.
142
+ * </p>
143
+ *
137
144
  * @throws {@link InvalidGrantTokenException} (client fault)
138
145
  * <p>The request was rejected because the specified grant token is not valid.</p>
139
146
  *
@@ -180,7 +187,9 @@ export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDa
180
187
  * </i>.</p>
181
188
  * </li>
182
189
  * <li>
183
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
190
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
191
+ * represents a general failure with many possible causes. To identify the cause, see the
192
+ * error message that accompanies the exception.</p>
184
193
  * </li>
185
194
  * </ul>
186
195
  *
@@ -23,8 +23,9 @@ export interface GenerateMacCommandOutput extends GenerateMacResponse, __Metadat
23
23
  }
24
24
  /**
25
25
  * @public
26
- * <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.
27
- * 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>
26
+ * <p>Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS
27
+ * key and a MAC algorithm that the key supports. HMAC KMS keys and the HMAC algorithms that
28
+ * KMS uses conform to industry standards defined in <a href="https://datatracker.ietf.org/doc/html/rfc2104">RFC 2104</a>.</p>
28
29
  * <p>You can use value that GenerateMac returns in the <a>VerifyMac</a> operation to
29
30
  * demonstrate that the original message has not changed. Also, because a secret key is used to
30
31
  * create the hash, you can verify that the party that generated the hash has the required secret
@@ -64,6 +65,7 @@ export interface GenerateMacCommandOutput extends GenerateMacResponse, __Metadat
64
65
  * GrantTokens: [ // GrantTokenList
65
66
  * "STRING_VALUE",
66
67
  * ],
68
+ * DryRun: true || false,
67
69
  * };
68
70
  * const command = new GenerateMacCommand(input);
69
71
  * const response = await client.send(command);
@@ -84,6 +86,11 @@ export interface GenerateMacCommandOutput extends GenerateMacResponse, __Metadat
84
86
  * @throws {@link DisabledException} (client fault)
85
87
  * <p>The request was rejected because the specified KMS key is not enabled.</p>
86
88
  *
89
+ * @throws {@link DryRunOperationException} (client fault)
90
+ * <p>
91
+ * The request was rejected because the DryRun parameter was specified.
92
+ * </p>
93
+ *
87
94
  * @throws {@link InvalidGrantTokenException} (client fault)
88
95
  * <p>The request was rejected because the specified grant token is not valid.</p>
89
96
  *
@@ -130,7 +137,9 @@ export interface GenerateMacCommandOutput extends GenerateMacResponse, __Metadat
130
137
  * </i>.</p>
131
138
  * </li>
132
139
  * <li>
133
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
140
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
141
+ * represents a general failure with many possible causes. To identify the cause, see the
142
+ * error message that accompanies the exception.</p>
134
143
  * </li>
135
144
  * </ul>
136
145
  *
@@ -35,7 +35,7 @@ export interface GenerateRandomCommandOutput extends GenerateRandomResponse, __M
35
35
  * enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
36
36
  * to provide the attestation document for the enclave. Instead of plaintext bytes, the response
37
37
  * includes the plaintext bytes encrypted under the public key from the attestation document
38
- * (<code>CiphertextForRecipient</code>).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
38
+ * (<code>CiphertextForRecipient</code>).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
39
39
  * <p>For more information about entropy and random number generation, see
40
40
  * <a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/">Key Management Service Cryptographic Details</a>.</p>
41
41
  * <p>
@@ -81,7 +81,9 @@ export interface GetKeyPolicyCommandOutput extends GetKeyPolicyResponse, __Metad
81
81
  * </i>.</p>
82
82
  * </li>
83
83
  * <li>
84
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
84
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
85
+ * represents a general failure with many possible causes. To identify the cause, see the
86
+ * error message that accompanies the exception.</p>
85
87
  * </li>
86
88
  * </ul>
87
89
  *
@@ -125,7 +125,9 @@ export interface GetKeyRotationStatusCommandOutput extends GetKeyRotationStatusR
125
125
  * </i>.</p>
126
126
  * </li>
127
127
  * <li>
128
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
128
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
129
+ * represents a general failure with many possible causes. To identify the cause, see the
130
+ * error message that accompanies the exception.</p>
129
131
  * </li>
130
132
  * </ul>
131
133
  *
@@ -37,8 +37,8 @@ export interface GetParametersForImportCommandOutput extends GetParametersForImp
37
37
  * asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material
38
38
  * into a <a href="kms/latest/developerguide/multi-region-keys-overview.html">multi-Region key</a> of
39
39
  * any supported type. However, you can't import key material into a KMS key in a <a href="kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. You can also use
40
- * <code>GetParametersForImport</code> to get a public key and import token to <a href="kms/latest/developerguide/importing-keys.html#reimport-key-material">reimport the original key material</a> into a KMS key whose key material expired or was
41
- * deleted.</p>
40
+ * <code>GetParametersForImport</code> to get a public key and import token to <a href="kms/latest/developerguide/importing-keys.html#reimport-key-material">reimport the original key
41
+ * material</a> into a KMS key whose key material expired or was deleted.</p>
42
42
  * <p>
43
43
  * <code>GetParametersForImport</code> returns the items that you need to import your key
44
44
  * material.</p>
@@ -49,7 +49,8 @@ export interface GetParametersForImportCommandOutput extends GetParametersForImp
49
49
  * transit to KMS. </p>
50
50
  * </li>
51
51
  * <li>
52
- * <p>A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.</p>
52
+ * <p>A import token that ensures that KMS can decrypt your key material and associate it
53
+ * with the correct KMS key.</p>
53
54
  * </li>
54
55
  * </ul>
55
56
  * <p>The public key and its import token are permanently linked and must be used together. Each
@@ -150,7 +151,9 @@ export interface GetParametersForImportCommandOutput extends GetParametersForImp
150
151
  * </i>.</p>
151
152
  * </li>
152
153
  * <li>
153
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
154
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
155
+ * represents a general failure with many possible causes. To identify the cause, see the
156
+ * error message that accompanies the exception.</p>
154
157
  * </li>
155
158
  * </ul>
156
159
  *
@@ -57,15 +57,14 @@ export interface GetPublicKeyCommandOutput extends GetPublicKeyResponse, __Metad
57
57
  * public key from being used with an encryption algorithm that is not supported by KMS. You
58
58
  * can also avoid errors, such as using the wrong signing algorithm in a verification
59
59
  * operation.</p>
60
- * <p>To verify a signature outside of KMS with an SM2 public key (China Regions only), you must
61
- * specify the distinguishing ID. By default, KMS uses <code>1234567812345678</code> as the
62
- * 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
63
- * with SM2 key pairs</a>.</p>
60
+ * <p>To verify a signature outside of KMS with an SM2 public key (China Regions only), you
61
+ * must specify the distinguishing ID. By default, KMS uses <code>1234567812345678</code> as
62
+ * the 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
63
+ * verification with SM2 key pairs</a>.</p>
64
64
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
65
65
  * 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>
66
66
  * <p>
67
- * <b>Cross-account use</b>:
68
- * Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
67
+ * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
69
68
  * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
70
69
  * <p>
71
70
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GetPublicKey</a> (key policy)</p>
@@ -165,7 +164,9 @@ export interface GetPublicKeyCommandOutput extends GetPublicKeyResponse, __Metad
165
164
  * </i>.</p>
166
165
  * </li>
167
166
  * <li>
168
- * <p>For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.</p>
167
+ * <p>For cryptographic operations on KMS keys in custom key stores, this exception
168
+ * represents a general failure with many possible causes. To identify the cause, see the
169
+ * error message that accompanies the exception.</p>
169
170
  * </li>
170
171
  * </ul>
171
172
  *