@aws-sdk/client-kms 3.278.0 → 3.281.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 (59) hide show
  1. package/README.md +409 -6
  2. package/dist-cjs/endpoint/ruleset.js +3 -3
  3. package/dist-es/endpoint/ruleset.js +3 -3
  4. package/dist-types/KMS.d.ts +17 -78
  5. package/dist-types/KMSClient.d.ts +6 -6
  6. package/dist-types/commands/CancelKeyDeletionCommand.d.ts +6 -0
  7. package/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +6 -1
  8. package/dist-types/commands/CreateAliasCommand.d.ts +6 -1
  9. package/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +6 -0
  10. package/dist-types/commands/CreateGrantCommand.d.ts +6 -0
  11. package/dist-types/commands/CreateKeyCommand.d.ts +6 -4
  12. package/dist-types/commands/DecryptCommand.d.ts +11 -5
  13. package/dist-types/commands/DeleteAliasCommand.d.ts +6 -0
  14. package/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +6 -1
  15. package/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +6 -1
  16. package/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +6 -0
  17. package/dist-types/commands/DescribeKeyCommand.d.ts +6 -1
  18. package/dist-types/commands/DisableKeyCommand.d.ts +6 -1
  19. package/dist-types/commands/DisableKeyRotationCommand.d.ts +6 -1
  20. package/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +6 -1
  21. package/dist-types/commands/EnableKeyCommand.d.ts +6 -1
  22. package/dist-types/commands/EnableKeyRotationCommand.d.ts +6 -1
  23. package/dist-types/commands/EncryptCommand.d.ts +6 -3
  24. package/dist-types/commands/GenerateDataKeyCommand.d.ts +8 -8
  25. package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +6 -6
  26. package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +6 -2
  27. package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +6 -6
  28. package/dist-types/commands/GenerateMacCommand.d.ts +6 -0
  29. package/dist-types/commands/GenerateRandomCommand.d.ts +6 -1
  30. package/dist-types/commands/GetKeyPolicyCommand.d.ts +6 -1
  31. package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +6 -1
  32. package/dist-types/commands/GetParametersForImportCommand.d.ts +6 -1
  33. package/dist-types/commands/GetPublicKeyCommand.d.ts +6 -2
  34. package/dist-types/commands/ImportKeyMaterialCommand.d.ts +6 -1
  35. package/dist-types/commands/ListAliasesCommand.d.ts +6 -2
  36. package/dist-types/commands/ListGrantsCommand.d.ts +6 -1
  37. package/dist-types/commands/ListKeyPoliciesCommand.d.ts +6 -1
  38. package/dist-types/commands/ListKeysCommand.d.ts +6 -1
  39. package/dist-types/commands/ListResourceTagsCommand.d.ts +6 -1
  40. package/dist-types/commands/ListRetirableGrantsCommand.d.ts +6 -1
  41. package/dist-types/commands/PutKeyPolicyCommand.d.ts +6 -1
  42. package/dist-types/commands/ReEncryptCommand.d.ts +6 -3
  43. package/dist-types/commands/ReplicateKeyCommand.d.ts +6 -0
  44. package/dist-types/commands/RetireGrantCommand.d.ts +6 -0
  45. package/dist-types/commands/RevokeGrantCommand.d.ts +6 -0
  46. package/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +6 -2
  47. package/dist-types/commands/SignCommand.d.ts +6 -1
  48. package/dist-types/commands/TagResourceCommand.d.ts +6 -1
  49. package/dist-types/commands/UntagResourceCommand.d.ts +6 -2
  50. package/dist-types/commands/UpdateAliasCommand.d.ts +6 -0
  51. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +6 -0
  52. package/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +6 -1
  53. package/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +6 -0
  54. package/dist-types/commands/VerifyCommand.d.ts +10 -2
  55. package/dist-types/commands/VerifyMacCommand.d.ts +6 -1
  56. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  57. package/dist-types/models/models_0.d.ts +123 -125
  58. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  59. package/package.json +6 -6
@@ -47,7 +47,6 @@ export declare class AlreadyExistsException extends __BaseException {
47
47
  export interface CancelKeyDeletionRequest {
48
48
  /**
49
49
  * <p>Identifies the KMS key whose deletion is being canceled.</p>
50
- *
51
50
  * <p>Specify the key ID or key ARN of the KMS key.</p>
52
51
  * <p>For example:</p>
53
52
  * <ul>
@@ -163,7 +162,6 @@ export declare class CloudHsmClusterInUseException extends __BaseException {
163
162
  /**
164
163
  * <p>The request was rejected because the associated CloudHSM cluster did not meet the
165
164
  * configuration requirements for an CloudHSM key store.</p>
166
- *
167
165
  * <ul>
168
166
  * <li>
169
167
  * <p>The CloudHSM cluster must be configured with private subnets in at least two different
@@ -359,7 +357,6 @@ export interface CreateAliasRequest {
359
357
  * ARN</a> in the <i>
360
358
  * <i>Key Management Service Developer Guide</i>
361
359
  * </i>.</p>
362
- *
363
360
  * <p>Specify the key ID or key ARN of the KMS key.</p>
364
361
  * <p>For example:</p>
365
362
  * <ul>
@@ -795,7 +792,6 @@ export interface CreateGrantRequest {
795
792
  /**
796
793
  * <p>Identifies the KMS key for the grant. The grant gives principals permission to use this
797
794
  * KMS key.</p>
798
- *
799
795
  * <p>Specify the key ID or key ARN of the KMS key. To specify a KMS key in a
800
796
  * different Amazon Web Services account, you must use the key ARN.</p>
801
797
  * <p>For example:</p>
@@ -814,23 +810,23 @@ export interface CreateGrantRequest {
814
810
  KeyId: string | undefined;
815
811
  /**
816
812
  * <p>The identity that gets the permissions specified in the grant.</p>
817
- * <p>To specify the principal, use the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of an
818
- * Amazon Web Services principal. Valid Amazon Web Services principals include Amazon Web Services accounts (root), IAM users, IAM roles,
819
- * federated users, and assumed role users. For examples of the ARN syntax to use for specifying
820
- * a principal, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam">Amazon Web Services Identity and Access
821
- * Management (IAM)</a> in the Example ARNs section of the <i>Amazon Web Services General
822
- * Reference</i>.</p>
813
+ * <p>To specify the grantee principal, use the Amazon Resource Name (ARN) of an
814
+ * Amazon Web Services principal. Valid principals include Amazon Web Services accounts, IAM users, IAM roles,
815
+ * federated users, and assumed role users. For help with the ARN syntax for a principal, see
816
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns">IAM ARNs</a> in the <i>
817
+ * <i>Identity and Access Management User Guide</i>
818
+ * </i>.</p>
823
819
  */
824
820
  GranteePrincipal: string | undefined;
825
821
  /**
826
822
  * <p>The principal that has permission to use the <a>RetireGrant</a> operation to
827
823
  * retire the grant. </p>
828
824
  * <p>To specify the principal, use the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of an
829
- * Amazon Web Services principal. Valid Amazon Web Services principals include Amazon Web Services accounts (root), IAM users, federated
830
- * users, and assumed role users. For examples of the ARN syntax to use for specifying a
831
- * principal, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam">Amazon Web Services Identity and Access
832
- * Management (IAM)</a> in the Example ARNs section of the <i>Amazon Web Services General
833
- * Reference</i>.</p>
825
+ * Amazon Web Services principal. Valid principals include Amazon Web Services accounts, IAM users, IAM roles,
826
+ * federated users, and assumed role users. For help with the ARN syntax for a principal, see
827
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns">IAM ARNs</a> in the <i>
828
+ * <i>Identity and Access Management User Guide</i>
829
+ * </i>.</p>
834
830
  * <p>The grant determines the retiring principal. Other principals might have permission to
835
831
  * retire the grant or revoke the grant. For details, see <a>RevokeGrant</a> and
836
832
  * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete">Retiring and
@@ -990,25 +986,22 @@ export interface CreateKeyRequest {
990
986
  * <p>If you provide a key policy, it must meet the following criteria:</p>
991
987
  * <ul>
992
988
  * <li>
993
- * <p>If you don't set <code>BypassPolicyLockoutSafetyCheck</code> to true, the key policy
994
- * must allow the principal that is making the <code>CreateKey</code> request to make a
995
- * subsequent <a>PutKeyPolicy</a> request on the KMS key. This reduces the risk
996
- * that the KMS key becomes unmanageable. For more information, refer to the scenario in the
997
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section of the <i>
998
- * <i>Key Management Service Developer Guide</i>
999
- * </i>.</p>
989
+ * <p>The key policy must allow the calling principal to make a
990
+ * subsequent <code>PutKeyPolicy</code> request on the KMS key. This reduces the risk that
991
+ * the KMS key becomes unmanageable. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>. (To omit
992
+ * this condition, set <code>BypassPolicyLockoutSafetyCheck</code> to true.)</p>
1000
993
  * </li>
1001
994
  * <li>
1002
995
  * <p>Each statement in the key policy must contain one or more principals. The principals
1003
996
  * in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services
1004
- * principal (for example, an IAM user or role), you might need to enforce a delay before
1005
- * including the new principal in a key policy because the new principal might not be
1006
- * immediately visible to KMS. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the <i>Amazon Web Services
997
+ * principal, you might need to enforce a delay before including the new principal in a key
998
+ * policy because the new principal might not be immediately visible to KMS. For more
999
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the <i>Amazon Web Services
1007
1000
  * Identity and Access Management User Guide</i>.</p>
1008
1001
  * </li>
1009
1002
  * </ul>
1010
1003
  * <p>If you do not provide a key policy, KMS attaches a default key policy to the KMS key.
1011
- * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default">Default Key Policy</a> in the
1004
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default">Default key policy</a> in the
1012
1005
  * <i>Key Management Service Developer Guide</i>. </p>
1013
1006
  * <p>The key policy size quota is 32 kilobytes (32768 bytes).</p>
1014
1007
  * <p>For help writing and formatting a JSON policy document, see the <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html">IAM JSON Policy Reference</a> in the <i>
@@ -1211,17 +1204,14 @@ export interface CreateKeyRequest {
1211
1204
  */
1212
1205
  CustomKeyStoreId?: string;
1213
1206
  /**
1214
- * <p>A flag to indicate whether to bypass the key policy lockout safety check.</p>
1207
+ * <p>Skips ("bypasses") the key policy lockout safety check. The default value is false.</p>
1215
1208
  * <important>
1216
1209
  * <p>Setting this value to true increases the risk that the KMS key becomes unmanageable. Do
1217
1210
  * not set this value to true indiscriminately.</p>
1218
- * <p>For more information, refer to the scenario in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section in the <i>
1219
- * <i>Key Management Service Developer Guide</i>
1220
- * </i>.</p>
1211
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>.</p>
1221
1212
  * </important>
1222
- * <p>Use this parameter only when you include a policy in the request and you intend to prevent
1223
- * the principal that is making the request from making a subsequent <a>PutKeyPolicy</a> request on the KMS key.</p>
1224
- * <p>The default value is false.</p>
1213
+ * <p>Use this parameter only when you intend to prevent the principal that is making the
1214
+ * request from making a subsequent <a>PutKeyPolicy</a> request on the KMS key.</p>
1225
1215
  */
1226
1216
  BypassPolicyLockoutSafetyCheck?: boolean;
1227
1217
  /**
@@ -1758,7 +1748,6 @@ export interface CustomKeyStoresListEntry {
1758
1748
  * connecting the custom key store to its backing key store.</p>
1759
1749
  * </li>
1760
1750
  * </ul>
1761
- *
1762
1751
  * <p>
1763
1752
  * <b>CloudHSM key stores:</b>
1764
1753
  * </p>
@@ -1827,7 +1816,6 @@ export interface CustomKeyStoresListEntry {
1827
1816
  * then update the key store password value for the custom key store.</p>
1828
1817
  * </li>
1829
1818
  * </ul>
1830
- *
1831
1819
  * <p>
1832
1820
  * <b>External key stores:</b>
1833
1821
  * </p>
@@ -1886,9 +1874,7 @@ export interface CustomKeyStoresListEntry {
1886
1874
  * <code>XKS_VPC_ENDPOINT_SERVICE_INVALID_CONFIGURATION</code> — The Amazon VPC
1887
1875
  * endpoint service configuration doesn't conform to the requirements for an KMS external
1888
1876
  * key store.</p>
1889
- *
1890
- *
1891
- * <ul>
1877
+ * <ul>
1892
1878
  * <li>
1893
1879
  * <p>The VPC endpoint service must be an endpoint service for interface endpoints in the caller's Amazon Web Services account.</p>
1894
1880
  * </li>
@@ -1983,16 +1969,13 @@ export interface DecryptRequest {
1983
1969
  GrantTokens?: string[];
1984
1970
  /**
1985
1971
  * <p>Specifies the KMS key that KMS uses to decrypt the ciphertext.</p>
1986
- *
1987
1972
  * <p>Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a
1988
1973
  * different KMS key, the <code>Decrypt</code> operation throws an
1989
1974
  * <code>IncorrectKeyException</code>.</p>
1990
- *
1991
1975
  * <p>This parameter is required only when the ciphertext was encrypted under an asymmetric KMS
1992
1976
  * key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that
1993
1977
  * it adds to the symmetric ciphertext blob. However, it is always recommended as a best
1994
1978
  * practice. This practice ensures that you use the KMS key that you intend.</p>
1995
- *
1996
1979
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
1997
1980
  * <p>For example:</p>
1998
1981
  * <ul>
@@ -2130,7 +2113,6 @@ export interface DeleteImportedKeyMaterialRequest {
2130
2113
  /**
2131
2114
  * <p>Identifies the KMS key from which you are deleting imported key material. The
2132
2115
  * <code>Origin</code> of the KMS key must be <code>EXTERNAL</code>.</p>
2133
- *
2134
2116
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2135
2117
  * <p>For example:</p>
2136
2118
  * <ul>
@@ -2214,7 +2196,6 @@ export interface DescribeKeyRequest {
2214
2196
  * <p>If you specify a predefined Amazon Web Services alias (an Amazon Web Services alias with no key ID), KMS associates
2215
2197
  * the alias with an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html##aws-managed-cmk">Amazon Web Services managed key</a> and returns its
2216
2198
  * <code>KeyId</code> and <code>Arn</code> in the response.</p>
2217
- *
2218
2199
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2219
2200
  * <p>For example:</p>
2220
2201
  * <ul>
@@ -2254,7 +2235,6 @@ export interface DescribeKeyResponse {
2254
2235
  export interface DisableKeyRequest {
2255
2236
  /**
2256
2237
  * <p>Identifies the KMS key to disable.</p>
2257
- *
2258
2238
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2259
2239
  * <p>For example:</p>
2260
2240
  * <ul>
@@ -2277,7 +2257,6 @@ export interface DisableKeyRotationRequest {
2277
2257
  * of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC
2278
2258
  * 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
2279
2259
  * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>.</p>
2280
- *
2281
2260
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2282
2261
  * <p>For example:</p>
2283
2262
  * <ul>
@@ -2305,7 +2284,6 @@ export interface DisconnectCustomKeyStoreResponse {
2305
2284
  export interface EnableKeyRequest {
2306
2285
  /**
2307
2286
  * <p>Identifies the KMS key to enable.</p>
2308
- *
2309
2287
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2310
2288
  * <p>For example:</p>
2311
2289
  * <ul>
@@ -2325,7 +2303,6 @@ export interface EnableKeyRequest {
2325
2303
  export interface EnableKeyRotationRequest {
2326
2304
  /**
2327
2305
  * <p>Identifies a symmetric encryption KMS key. 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>
2328
- *
2329
2306
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2330
2307
  * <p>For example:</p>
2331
2308
  * <ul>
@@ -2347,7 +2324,6 @@ export interface EncryptRequest {
2347
2324
  * <p>Identifies the KMS key to use in the encryption operation. The KMS key must have a
2348
2325
  * <code>KeyUsage</code> of <code>ENCRYPT_DECRYPT</code>. To find the <code>KeyUsage</code> of
2349
2326
  * a KMS key, use the <a>DescribeKey</a> operation.</p>
2350
- *
2351
2327
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2352
2328
  * <p>For example:</p>
2353
2329
  * <ul>
@@ -2432,7 +2408,6 @@ export interface GenerateDataKeyRequest {
2432
2408
  * <p>Specifies the symmetric encryption KMS key that encrypts the data key. You cannot specify
2433
2409
  * an asymmetric KMS key or a KMS key in a custom key store. To get the type and origin of your
2434
2410
  * KMS key, use the <a>DescribeKey</a> operation.</p>
2435
- *
2436
2411
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2437
2412
  * <p>For example:</p>
2438
2413
  * <ul>
@@ -2517,7 +2492,6 @@ export interface GenerateDataKeyPairRequest {
2517
2492
  * <p>Specifies the symmetric encryption KMS key that encrypts the private key in the data key
2518
2493
  * pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the
2519
2494
  * type and origin of your KMS key, use the <a>DescribeKey</a> operation.</p>
2520
- *
2521
2495
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2522
2496
  * <p>For example:</p>
2523
2497
  * <ul>
@@ -2590,7 +2564,6 @@ export interface GenerateDataKeyPairWithoutPlaintextRequest {
2590
2564
  * <p>Specifies the symmetric encryption KMS key that encrypts the private key in the data key
2591
2565
  * pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the
2592
2566
  * type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
2593
- *
2594
2567
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2595
2568
  * <p>For example:</p>
2596
2569
  * <ul>
@@ -2649,7 +2622,6 @@ export interface GenerateDataKeyWithoutPlaintextRequest {
2649
2622
  * <p>Specifies the symmetric encryption KMS key that encrypts the data key. You cannot specify
2650
2623
  * an asymmetric KMS key or a KMS key in a custom key store. To get the type and origin of your
2651
2624
  * KMS key, use the <a>DescribeKey</a> operation.</p>
2652
- *
2653
2625
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2654
2626
  * <p>For example:</p>
2655
2627
  * <ul>
@@ -2779,7 +2751,6 @@ export interface GenerateRandomResponse {
2779
2751
  export interface GetKeyPolicyRequest {
2780
2752
  /**
2781
2753
  * <p>Gets the key policy for the specified KMS key.</p>
2782
- *
2783
2754
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2784
2755
  * <p>For example:</p>
2785
2756
  * <ul>
@@ -2810,7 +2781,6 @@ export interface GetKeyPolicyResponse {
2810
2781
  export interface GetKeyRotationStatusRequest {
2811
2782
  /**
2812
2783
  * <p>Gets the rotation status for the specified KMS key.</p>
2813
- *
2814
2784
  * <p>Specify the key ID or key ARN of the KMS key. To specify a KMS key in a
2815
2785
  * different Amazon Web Services account, you must use the key ARN.</p>
2816
2786
  * <p>For example:</p>
@@ -2841,7 +2811,6 @@ export interface GetParametersForImportRequest {
2841
2811
  /**
2842
2812
  * <p>The identifier of the symmetric encryption KMS key into which you will import key
2843
2813
  * material. The <code>Origin</code> of the KMS key must be <code>EXTERNAL</code>.</p>
2844
- *
2845
2814
  * <p>Specify the key ID or key ARN of the KMS key.</p>
2846
2815
  * <p>For example:</p>
2847
2816
  * <ul>
@@ -2858,8 +2827,14 @@ export interface GetParametersForImportRequest {
2858
2827
  */
2859
2828
  KeyId: string | undefined;
2860
2829
  /**
2861
- * <p>The algorithm you will use to encrypt the key material before importing it with <a>ImportKeyMaterial</a>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html">Encrypt the Key Material</a>
2862
- * in the <i>Key Management Service Developer Guide</i>.</p>
2830
+ * <p>The algorithm you will use to encrypt the key material before using the <a>ImportKeyMaterial</a> operation to import it. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html">Encrypt the
2831
+ * key material</a> in the <i>Key Management Service Developer Guide</i>.</p>
2832
+ * <important>
2833
+ * <p>The <code>RSAES_PKCS1_V1_5</code> wrapping algorithm is deprecated. We recommend that
2834
+ * you begin using a different wrapping algorithm immediately. KMS will end support for
2835
+ * <code>RSAES_PKCS1_V1_5</code> by October 1, 2023 pursuant to <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf">cryptographic key management guidance</a> from the National Institute of Standards
2836
+ * and Technology (NIST).</p>
2837
+ * </important>
2863
2838
  */
2864
2839
  WrappingAlgorithm: AlgorithmSpec | string | undefined;
2865
2840
  /**
@@ -2893,7 +2868,6 @@ export interface GetParametersForImportResponse {
2893
2868
  export interface GetPublicKeyRequest {
2894
2869
  /**
2895
2870
  * <p>Identifies the asymmetric KMS key that includes the public key.</p>
2896
- *
2897
2871
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2898
2872
  * <p>For example:</p>
2899
2873
  * <ul>
@@ -3028,7 +3002,6 @@ export interface ImportKeyMaterialRequest {
3028
3002
  * KMS key must be <code>EXTERNAL</code>. You cannot perform this operation on an asymmetric KMS
3029
3003
  * key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different
3030
3004
  * Amazon Web Services account</p>
3031
- *
3032
3005
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3033
3006
  * <p>For example:</p>
3034
3007
  * <ul>
@@ -3162,7 +3135,6 @@ export interface ListAliasesRequest {
3162
3135
  * Amazon Web Services account. </p>
3163
3136
  * <p>This parameter is optional. If you omit it, <code>ListAliases</code> returns all aliases
3164
3137
  * in the account and Region.</p>
3165
- *
3166
3138
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3167
3139
  * <p>For example:</p>
3168
3140
  * <ul>
@@ -3228,7 +3200,6 @@ export interface ListGrantsRequest {
3228
3200
  Marker?: string;
3229
3201
  /**
3230
3202
  * <p>Returns only grants for the specified KMS key. This parameter is required.</p>
3231
- *
3232
3203
  * <p>Specify the key ID or key ARN of the KMS key. To specify a KMS key in a
3233
3204
  * different Amazon Web Services account, you must use the key ARN.</p>
3234
3205
  * <p>For example:</p>
@@ -3277,7 +3248,6 @@ export interface ListGrantsResponse {
3277
3248
  export interface ListKeyPoliciesRequest {
3278
3249
  /**
3279
3250
  * <p>Gets the names of key policies for the specified KMS key.</p>
3280
- *
3281
3251
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3282
3252
  * <p>For example:</p>
3283
3253
  * <ul>
@@ -3364,7 +3334,6 @@ export interface ListKeysResponse {
3364
3334
  export interface ListResourceTagsRequest {
3365
3335
  /**
3366
3336
  * <p>Gets tags on the specified KMS key.</p>
3367
- *
3368
3337
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3369
3338
  * <p>For example:</p>
3370
3339
  * <ul>
@@ -3438,10 +3407,11 @@ export interface ListRetirableGrantsRequest {
3438
3407
  * <p>The retiring principal for which to list grants. Enter a principal in your
3439
3408
  * Amazon Web Services account.</p>
3440
3409
  * <p>To specify the retiring principal, use the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of an
3441
- * Amazon Web Services principal. Valid Amazon Web Services principals include Amazon Web Services accounts (root), IAM users, federated
3442
- * users, and assumed role users. For examples of the ARN syntax for specifying a principal, see
3443
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam">Amazon Web Services Identity and Access Management (IAM)</a> in the Example ARNs section of the
3444
- * <i>Amazon Web Services General Reference</i>.</p>
3410
+ * Amazon Web Services principal. Valid principals include Amazon Web Services accounts, IAM users, IAM roles,
3411
+ * federated users, and assumed role users. For help with the ARN syntax for a principal, see
3412
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns">IAM ARNs</a> in the <i>
3413
+ * <i>Identity and Access Management User Guide</i>
3414
+ * </i>.</p>
3445
3415
  */
3446
3416
  RetiringPrincipal: string | undefined;
3447
3417
  }
@@ -3452,7 +3422,6 @@ export declare enum MessageType {
3452
3422
  export interface PutKeyPolicyRequest {
3453
3423
  /**
3454
3424
  * <p>Sets the key policy on the specified KMS key.</p>
3455
- *
3456
3425
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3457
3426
  * <p>For example:</p>
3458
3427
  * <ul>
@@ -3477,22 +3446,20 @@ export interface PutKeyPolicyRequest {
3477
3446
  * <p>The key policy must meet the following criteria:</p>
3478
3447
  * <ul>
3479
3448
  * <li>
3480
- * <p>If you don't set <code>BypassPolicyLockoutSafetyCheck</code> to true, the key policy
3481
- * must allow the principal that is making the <code>PutKeyPolicy</code> request to make a
3482
- * subsequent <code>PutKeyPolicy</code> request on the KMS key. This reduces the risk that
3483
- * the KMS key becomes unmanageable. For more information, refer to the scenario in the
3484
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section of the <i>Key Management Service Developer Guide</i>.</p>
3449
+ * <p>The key policy must allow the calling principal to make a
3450
+ * subsequent <code>PutKeyPolicy</code> request on the KMS key. This reduces the risk that
3451
+ * the KMS key becomes unmanageable. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>. (To omit
3452
+ * this condition, set <code>BypassPolicyLockoutSafetyCheck</code> to true.)</p>
3485
3453
  * </li>
3486
3454
  * <li>
3487
3455
  * <p>Each statement in the key policy must contain one or more principals. The principals
3488
3456
  * in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services
3489
- * principal (for example, an IAM user or role), you might need to enforce a delay before
3490
- * including the new principal in a key policy because the new principal might not be
3491
- * immediately visible to KMS. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the <i>Amazon Web Services
3457
+ * principal, you might need to enforce a delay before including the new principal in a key
3458
+ * policy because the new principal might not be immediately visible to KMS. For more
3459
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the <i>Amazon Web Services
3492
3460
  * Identity and Access Management User Guide</i>.</p>
3493
3461
  * </li>
3494
3462
  * </ul>
3495
- *
3496
3463
  * <p>A key policy document can include only the following characters:</p>
3497
3464
  * <ul>
3498
3465
  * <li>
@@ -3512,15 +3479,14 @@ export interface PutKeyPolicyRequest {
3512
3479
  */
3513
3480
  Policy: string | undefined;
3514
3481
  /**
3515
- * <p>A flag to indicate whether to bypass the key policy lockout safety check.</p>
3482
+ * <p>Skips ("bypasses") the key policy lockout safety check. The default value is false.</p>
3516
3483
  * <important>
3517
3484
  * <p>Setting this value to true increases the risk that the KMS key becomes unmanageable. Do
3518
3485
  * not set this value to true indiscriminately.</p>
3519
- * <p>For more information, refer to the scenario in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section in the <i>Key Management Service Developer Guide</i>.</p>
3486
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>.</p>
3520
3487
  * </important>
3521
3488
  * <p>Use this parameter only when you intend to prevent the principal that is making the
3522
- * request from making a subsequent <code>PutKeyPolicy</code> request on the KMS key.</p>
3523
- * <p>The default value is false.</p>
3489
+ * request from making a subsequent <a>PutKeyPolicy</a> request on the KMS key.</p>
3524
3490
  */
3525
3491
  BypassPolicyLockoutSafetyCheck?: boolean;
3526
3492
  }
@@ -3549,7 +3515,6 @@ export interface ReEncryptRequest {
3549
3515
  * key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that
3550
3516
  * it adds to the symmetric ciphertext blob. However, it is always recommended as a best
3551
3517
  * practice. This practice ensures that you use the KMS key that you intend.</p>
3552
- *
3553
3518
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
3554
3519
  * <p>For example:</p>
3555
3520
  * <ul>
@@ -3578,7 +3543,6 @@ export interface ReEncryptRequest {
3578
3543
  * symmetric encryption KMS key or an asymmetric KMS key with a <code>KeyUsage</code> value of
3579
3544
  * <code>ENCRYPT_DECRYPT</code>. To find the <code>KeyUsage</code> value of a KMS key, use the
3580
3545
  * <a>DescribeKey</a> operation.</p>
3581
- *
3582
3546
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
3583
3547
  * <p>For example:</p>
3584
3548
  * <ul>
@@ -3667,7 +3631,6 @@ export interface ReplicateKeyRequest {
3667
3631
  * <p>Identifies the multi-Region primary key that is being replicated. To determine whether a
3668
3632
  * KMS key is a multi-Region primary key, use the <a>DescribeKey</a> operation to
3669
3633
  * check the value of the <code>MultiRegionKeyType</code> property.</p>
3670
- *
3671
3634
  * <p>Specify the key ID or key ARN of a multi-Region primary key.</p>
3672
3635
  * <p>For example:</p>
3673
3636
  * <ul>
@@ -3713,25 +3676,20 @@ export interface ReplicateKeyRequest {
3713
3676
  * <p>If you provide a key policy, it must meet the following criteria:</p>
3714
3677
  * <ul>
3715
3678
  * <li>
3716
- * <p>If you don't set <code>BypassPolicyLockoutSafetyCheck</code> to true, the key policy
3717
- * must give the caller <code>kms:PutKeyPolicy</code> permission on the replica key. This
3718
- * reduces the risk that the KMS key becomes unmanageable. For more information, refer to the
3719
- * scenario in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section of the <i>
3720
- * <i>Key Management Service Developer Guide</i>
3721
- * </i>.</p>
3679
+ * <p>The key policy must allow the calling principal to make a
3680
+ * subsequent <code>PutKeyPolicy</code> request on the KMS key. This reduces the risk that
3681
+ * the KMS key becomes unmanageable. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>. (To omit
3682
+ * this condition, set <code>BypassPolicyLockoutSafetyCheck</code> to true.)</p>
3722
3683
  * </li>
3723
3684
  * <li>
3724
3685
  * <p>Each statement in the key policy must contain one or more principals. The principals
3725
3686
  * in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services
3726
- * principal (for example, an IAM user or role), you might need to enforce a delay before
3727
- * including the new principal in a key policy because the new principal might not be
3728
- * immediately visible to KMS. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the
3729
- * <i>
3730
- * <i>Identity and Access Management User Guide</i>
3731
- * </i>.</p>
3687
+ * principal, you might need to enforce a delay before including the new principal in a key
3688
+ * policy because the new principal might not be immediately visible to KMS. For more
3689
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency">Changes that I make are not always immediately visible</a> in the <i>Amazon Web Services
3690
+ * Identity and Access Management User Guide</i>.</p>
3732
3691
  * </li>
3733
3692
  * </ul>
3734
- *
3735
3693
  * <p>A key policy document can include only the following characters:</p>
3736
3694
  * <ul>
3737
3695
  * <li>
@@ -3751,15 +3709,14 @@ export interface ReplicateKeyRequest {
3751
3709
  */
3752
3710
  Policy?: string;
3753
3711
  /**
3754
- * <p>A flag to indicate whether to bypass the key policy lockout safety check.</p>
3712
+ * <p>Skips ("bypasses") the key policy lockout safety check. The default value is false.</p>
3755
3713
  * <important>
3756
3714
  * <p>Setting this value to true increases the risk that the KMS key becomes unmanageable. Do
3757
3715
  * not set this value to true indiscriminately.</p>
3758
- * <p>For more information, refer to the scenario in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam">Default Key Policy</a> section in the <i>Key Management Service Developer Guide</i>.</p>
3716
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key">Default key policy</a> in the <i>Key Management Service Developer Guide</i>.</p>
3759
3717
  * </important>
3760
3718
  * <p>Use this parameter only when you intend to prevent the principal that is making the
3761
- * request from making a subsequent <code>PutKeyPolicy</code> request on the KMS key.</p>
3762
- * <p>The default value is false.</p>
3719
+ * request from making a subsequent <a>PutKeyPolicy</a> request on the KMS key.</p>
3763
3720
  */
3764
3721
  BypassPolicyLockoutSafetyCheck?: boolean;
3765
3722
  /**
@@ -3840,7 +3797,6 @@ export interface RevokeGrantRequest {
3840
3797
  /**
3841
3798
  * <p>A unique identifier for the KMS key associated with the grant. To get the key ID and key
3842
3799
  * ARN for a KMS key, use <a>ListKeys</a> or <a>DescribeKey</a>.</p>
3843
- *
3844
3800
  * <p>Specify the key ID or key ARN of the KMS key. To specify a KMS key in a
3845
3801
  * different Amazon Web Services account, you must use the key ARN.</p>
3846
3802
  * <p>For example:</p>
@@ -3866,7 +3822,6 @@ export interface RevokeGrantRequest {
3866
3822
  export interface ScheduleKeyDeletionRequest {
3867
3823
  /**
3868
3824
  * <p>The unique identifier of the KMS key to delete.</p>
3869
- *
3870
3825
  * <p>Specify the key ID or key ARN of the KMS key.</p>
3871
3826
  * <p>For example:</p>
3872
3827
  * <ul>
@@ -3924,7 +3879,6 @@ export interface SignRequest {
3924
3879
  * <p>Identifies an asymmetric KMS key. KMS uses the private key in the asymmetric KMS key to
3925
3880
  * sign the message. The <code>KeyUsage</code> type of the KMS key must be
3926
3881
  * <code>SIGN_VERIFY</code>. To find the <code>KeyUsage</code> of a KMS key, use the <a>DescribeKey</a> operation.</p>
3927
- *
3928
3882
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
3929
3883
  * <p>For example:</p>
3930
3884
  * <ul>
@@ -3950,15 +3904,43 @@ export interface SignRequest {
3950
3904
  KeyId: string | undefined;
3951
3905
  /**
3952
3906
  * <p>Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a
3953
- * larger message, provide the message digest.</p>
3954
- * <p>If you provide a message, KMS generates a hash digest of the message and then signs
3955
- * it.</p>
3907
+ * larger message, provide a message digest.</p>
3908
+ * <p>If you provide a message digest, use the <code>DIGEST</code> value of <code>MessageType</code> to
3909
+ * prevent the digest from being hashed again while signing.</p>
3956
3910
  */
3957
3911
  Message: Uint8Array | undefined;
3958
3912
  /**
3959
- * <p>Tells KMS whether the value of the <code>Message</code> parameter is a message or
3960
- * message digest. The default value, RAW, indicates a message. To indicate a message digest,
3961
- * enter <code>DIGEST</code>.</p>
3913
+ * <p>Tells KMS whether the value of the <code>Message</code> parameter should be hashed
3914
+ * as part of the signing algorithm. Use <code>RAW</code> for unhashed messages; use <code>DIGEST</code>
3915
+ * for message digests, which are already hashed.</p>
3916
+ * <p>When the value of <code>MessageType</code> is <code>RAW</code>, KMS uses the standard
3917
+ * signing algorithm, which begins with a hash function. When the value is <code>DIGEST</code>, KMS skips
3918
+ * the hashing step in the signing algorithm.</p>
3919
+ * <important>
3920
+ * <p>Use the <code>DIGEST</code> value only when the value of the <code>Message</code>
3921
+ * parameter is a message digest. If you use the <code>DIGEST</code> value with an unhashed message,
3922
+ * the security of the signing operation can be compromised.</p>
3923
+ * </important>
3924
+ * <p>When the value of <code>MessageType</code>is <code>DIGEST</code>, the length
3925
+ * of the <code>Message</code> value must match the length of hashed messages for the specified signing algorithm.</p>
3926
+ * <p>You can submit a message digest and omit the <code>MessageType</code> or specify
3927
+ * <code>RAW</code> so the digest is hashed again while signing. However, this can cause verification failures when
3928
+ * verifying with a system that assumes a single hash.</p>
3929
+ * <p>The hashing algorithm in that <code>Sign</code> uses is based on the <code>SigningAlgorithm</code> value.</p>
3930
+ * <ul>
3931
+ * <li>
3932
+ * <p>Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.</p>
3933
+ * </li>
3934
+ * <li>
3935
+ * <p>Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.</p>
3936
+ * </li>
3937
+ * <li>
3938
+ * <p>Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.</p>
3939
+ * </li>
3940
+ * <li>
3941
+ * <p>SM2DSA uses the SM3 hashing algorithm. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification">Offline verification with SM2 key pairs</a>.</p>
3942
+ * </li>
3943
+ * </ul>
3962
3944
  */
3963
3945
  MessageType?: MessageType | string;
3964
3946
  /**
@@ -3970,7 +3952,8 @@ export interface SignRequest {
3970
3952
  /**
3971
3953
  * <p>Specifies the signing algorithm to use when signing the message. </p>
3972
3954
  * <p>Choose an algorithm that is compatible with the type and size of the specified asymmetric
3973
- * KMS key.</p>
3955
+ * KMS key. When signing with RSA key pairs, RSASSA-PSS algorithms are preferred. We include
3956
+ * RSASSA-PKCS1-v1_5 algorithms for compatibility with existing applications.</p>
3974
3957
  */
3975
3958
  SigningAlgorithm: SigningAlgorithmSpec | string | undefined;
3976
3959
  }
@@ -4006,7 +3989,6 @@ export interface SignResponse {
4006
3989
  export interface TagResourceRequest {
4007
3990
  /**
4008
3991
  * <p>Identifies a customer managed key in the account and Region.</p>
4009
- *
4010
3992
  * <p>Specify the key ID or key ARN of the KMS key.</p>
4011
3993
  * <p>For example:</p>
4012
3994
  * <ul>
@@ -4035,7 +4017,6 @@ export interface TagResourceRequest {
4035
4017
  export interface UntagResourceRequest {
4036
4018
  /**
4037
4019
  * <p>Identifies the KMS key from which you are removing tags.</p>
4038
- *
4039
4020
  * <p>Specify the key ID or key ARN of the KMS key.</p>
4040
4021
  * <p>For example:</p>
4041
4022
  * <ul>
@@ -4069,7 +4050,6 @@ export interface UpdateAliasRequest {
4069
4050
  * <p>The KMS key must be in the same Amazon Web Services account and Region as the alias. Also, the new
4070
4051
  * target KMS key must be the same type as the current target KMS key (both symmetric or both
4071
4052
  * asymmetric or both HMAC) and they must have the same key usage. </p>
4072
- *
4073
4053
  * <p>Specify the key ID or key ARN of the KMS key.</p>
4074
4054
  * <p>For example:</p>
4075
4055
  * <ul>
@@ -4083,7 +4063,6 @@ export interface UpdateAliasRequest {
4083
4063
  * </li>
4084
4064
  * </ul>
4085
4065
  * <p>To get the key ID and key ARN for a KMS key, use <a>ListKeys</a> or <a>DescribeKey</a>.</p>
4086
- *
4087
4066
  * <p>To verify that the alias is mapped to the correct KMS key, use <a>ListAliases</a>.</p>
4088
4067
  */
4089
4068
  TargetKeyId: string | undefined;
@@ -4192,7 +4171,6 @@ export interface UpdateCustomKeyStoreResponse {
4192
4171
  export interface UpdateKeyDescriptionRequest {
4193
4172
  /**
4194
4173
  * <p>Updates the description of the specified KMS key.</p>
4195
- *
4196
4174
  * <p>Specify the key ID or key ARN of the KMS key.</p>
4197
4175
  * <p>For example:</p>
4198
4176
  * <ul>
@@ -4217,7 +4195,6 @@ export interface UpdatePrimaryRegionRequest {
4217
4195
  /**
4218
4196
  * <p>Identifies the current primary key. When the operation completes, this KMS key will be a
4219
4197
  * replica key.</p>
4220
- *
4221
4198
  * <p>Specify the key ID or key ARN of a multi-Region primary key.</p>
4222
4199
  * <p>For example:</p>
4223
4200
  * <ul>
@@ -4247,7 +4224,6 @@ export interface VerifyRequest {
4247
4224
  * <p>Identifies the asymmetric KMS key that will be used to verify the signature. This must be
4248
4225
  * the same KMS key that was used to generate the signature. If you specify a different KMS key,
4249
4226
  * the signature verification fails.</p>
4250
- *
4251
4227
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
4252
4228
  * <p>For example:</p>
4253
4229
  * <ul>
@@ -4273,22 +4249,45 @@ export interface VerifyRequest {
4273
4249
  KeyId: string | undefined;
4274
4250
  /**
4275
4251
  * <p>Specifies the message that was signed. You can submit a raw message of up to 4096 bytes,
4276
- * or a hash digest of the message. If you submit a digest, use the <code>MessageType</code>
4277
- * parameter with a value of <code>DIGEST</code>.</p>
4252
+ * or a hash digest of the message. If you submit a digest, use the <code>MessageType</code> parameter
4253
+ * with a value of <code>DIGEST</code>.</p>
4278
4254
  * <p>If the message specified here is different from the message that was signed, the signature
4279
4255
  * verification fails. A message and its hash digest are considered to be the same
4280
4256
  * message.</p>
4281
4257
  */
4282
4258
  Message: Uint8Array | undefined;
4283
4259
  /**
4284
- * <p>Tells KMS whether the value of the <code>Message</code> parameter is a message or
4285
- * message digest. The default value, RAW, indicates a message. To indicate a message digest,
4286
- * enter <code>DIGEST</code>.</p>
4260
+ * <p>Tells KMS whether the value of the <code>Message</code> parameter should be hashed
4261
+ * as part of the signing algorithm. Use <code>RAW</code> for unhashed messages; use <code>DIGEST</code>
4262
+ * for message digests, which are already hashed.</p>
4263
+ * <p>When the value of <code>MessageType</code> is <code>RAW</code>, KMS uses the standard
4264
+ * signing algorithm, which begins with a hash function. When the value is <code>DIGEST</code>, KMS
4265
+ * skips the hashing step in the signing algorithm.</p>
4287
4266
  * <important>
4288
4267
  * <p>Use the <code>DIGEST</code> value only when the value of the <code>Message</code>
4289
- * parameter is a message digest. If you use the <code>DIGEST</code> value with a raw message,
4268
+ * parameter is a message digest. If you use the <code>DIGEST</code> value with an unhashed message,
4290
4269
  * the security of the verification operation can be compromised.</p>
4291
4270
  * </important>
4271
+ * <p>When the value of <code>MessageType</code>is <code>DIGEST</code>, the length
4272
+ * of the <code>Message</code> value must match the length of hashed messages for the specified signing algorithm.</p>
4273
+ * <p>You can submit a message digest and omit the <code>MessageType</code> or specify
4274
+ * <code>RAW</code> so the digest is hashed again while signing. However, if the signed message is hashed once
4275
+ * while signing, but twice while verifying, verification fails, even when the message hasn't changed.</p>
4276
+ * <p>The hashing algorithm in that <code>Verify</code> uses is based on the <code>SigningAlgorithm</code> value.</p>
4277
+ * <ul>
4278
+ * <li>
4279
+ * <p>Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.</p>
4280
+ * </li>
4281
+ * <li>
4282
+ * <p>Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.</p>
4283
+ * </li>
4284
+ * <li>
4285
+ * <p>Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.</p>
4286
+ * </li>
4287
+ * <li>
4288
+ * <p>SM2DSA uses the SM3 hashing algorithm. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification">Offline verification with SM2 key pairs</a>.</p>
4289
+ * </li>
4290
+ * </ul>
4292
4291
  */
4293
4292
  MessageType?: MessageType | string;
4294
4293
  /**
@@ -4337,7 +4336,6 @@ export interface VerifyMacRequest {
4337
4336
  Message: Uint8Array | undefined;
4338
4337
  /**
4339
4338
  * <p>The KMS key that will be used in the verification.</p>
4340
- *
4341
4339
  * <p>Enter a key ID of the KMS key that was used to generate the HMAC. If you identify a
4342
4340
  * different KMS key, the <code>VerifyMac</code> operation fails.</p>
4343
4341
  */