@aws-sdk/client-kms 3.36.0 → 3.39.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 (131) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist-cjs/KMS.js +0 -92
  3. package/dist-cjs/KMSClient.js +0 -97
  4. package/dist-cjs/commands/CancelKeyDeletionCommand.js +0 -37
  5. package/dist-cjs/commands/ConnectCustomKeyStoreCommand.js +0 -85
  6. package/dist-cjs/commands/CreateAliasCommand.js +0 -81
  7. package/dist-cjs/commands/CreateCustomKeyStoreCommand.js +0 -73
  8. package/dist-cjs/commands/CreateGrantCommand.js +0 -86
  9. package/dist-cjs/commands/CreateKeyCommand.js +0 -148
  10. package/dist-cjs/commands/DecryptCommand.js +0 -112
  11. package/dist-cjs/commands/DeleteAliasCommand.js +0 -71
  12. package/dist-cjs/commands/DeleteCustomKeyStoreCommand.js +0 -78
  13. package/dist-cjs/commands/DeleteImportedKeyMaterialCommand.js +0 -53
  14. package/dist-cjs/commands/DescribeCustomKeyStoresCommand.js +0 -77
  15. package/dist-cjs/commands/DescribeKeyCommand.js +0 -103
  16. package/dist-cjs/commands/DisableKeyCommand.js +0 -39
  17. package/dist-cjs/commands/DisableKeyRotationCommand.js +0 -49
  18. package/dist-cjs/commands/DisconnectCustomKeyStoreCommand.js +0 -76
  19. package/dist-cjs/commands/EnableKeyCommand.js +0 -36
  20. package/dist-cjs/commands/EnableKeyRotationCommand.js +0 -49
  21. package/dist-cjs/commands/EncryptCommand.js +0 -148
  22. package/dist-cjs/commands/GenerateDataKeyCommand.js +0 -121
  23. package/dist-cjs/commands/GenerateDataKeyPairCommand.js +0 -100
  24. package/dist-cjs/commands/GenerateDataKeyPairWithoutPlaintextCommand.js +0 -90
  25. package/dist-cjs/commands/GenerateDataKeyWithoutPlaintextCommand.js +0 -95
  26. package/dist-cjs/commands/GenerateRandomCommand.js +0 -33
  27. package/dist-cjs/commands/GetKeyPolicyCommand.js +0 -32
  28. package/dist-cjs/commands/GetKeyRotationStatusCommand.js +0 -61
  29. package/dist-cjs/commands/GetParametersForImportCommand.js +0 -58
  30. package/dist-cjs/commands/GetPublicKeyCommand.js +0 -70
  31. package/dist-cjs/commands/ImportKeyMaterialCommand.js +0 -87
  32. package/dist-cjs/commands/ListAliasesCommand.js +0 -66
  33. package/dist-cjs/commands/ListGrantsCommand.js +0 -69
  34. package/dist-cjs/commands/ListKeyPoliciesCommand.js +0 -46
  35. package/dist-cjs/commands/ListKeysCommand.js +0 -54
  36. package/dist-cjs/commands/ListResourceTagsCommand.js +0 -58
  37. package/dist-cjs/commands/ListRetirableGrantsCommand.js +0 -67
  38. package/dist-cjs/commands/PutKeyPolicyCommand.js +0 -37
  39. package/dist-cjs/commands/ReEncryptCommand.js +0 -122
  40. package/dist-cjs/commands/ReplicateKeyCommand.js +0 -101
  41. package/dist-cjs/commands/RetireGrantCommand.js +0 -70
  42. package/dist-cjs/commands/RevokeGrantCommand.js +0 -67
  43. package/dist-cjs/commands/ScheduleKeyDeletionCommand.js +0 -78
  44. package/dist-cjs/commands/SignCommand.js +0 -69
  45. package/dist-cjs/commands/TagResourceCommand.js +0 -71
  46. package/dist-cjs/commands/UntagResourceCommand.js +0 -67
  47. package/dist-cjs/commands/UpdateAliasCommand.js +0 -86
  48. package/dist-cjs/commands/UpdateCustomKeyStoreCommand.js +0 -96
  49. package/dist-cjs/commands/UpdateKeyDescriptionCommand.js +0 -47
  50. package/dist-cjs/commands/UpdatePrimaryRegionCommand.js +0 -89
  51. package/dist-cjs/commands/VerifyCommand.js +0 -54
  52. package/dist-cjs/commands/index.js +51 -0
  53. package/dist-cjs/endpoints.js +6 -1
  54. package/dist-cjs/index.js +4 -55
  55. package/dist-cjs/models/models_0.js +0 -366
  56. package/dist-cjs/pagination/ListAliasesPaginator.js +0 -10
  57. package/dist-cjs/pagination/ListGrantsPaginator.js +0 -10
  58. package/dist-cjs/pagination/ListKeyPoliciesPaginator.js +0 -10
  59. package/dist-cjs/pagination/ListKeysPaginator.js +0 -10
  60. package/dist-cjs/pagination/index.js +8 -0
  61. package/dist-cjs/protocols/Aws_json1_1.js +0 -5
  62. package/dist-cjs/runtimeConfig.browser.js +1 -5
  63. package/dist-cjs/runtimeConfig.js +1 -5
  64. package/dist-cjs/runtimeConfig.native.js +0 -3
  65. package/dist-cjs/runtimeConfig.shared.js +0 -3
  66. package/dist-es/commands/index.js +48 -0
  67. package/dist-es/endpoints.js +6 -1
  68. package/dist-es/index.js +4 -55
  69. package/dist-es/pagination/index.js +5 -0
  70. package/dist-types/commands/index.d.ts +48 -0
  71. package/dist-types/index.d.ts +4 -55
  72. package/dist-types/pagination/index.d.ts +5 -0
  73. package/dist-types/ts3.4/KMS.d.ts +49 -2646
  74. package/dist-types/ts3.4/KMSClient.d.ts +24 -178
  75. package/dist-types/ts3.4/commands/CancelKeyDeletionCommand.d.ts +2 -33
  76. package/dist-types/ts3.4/commands/ConnectCustomKeyStoreCommand.d.ts +2 -81
  77. package/dist-types/ts3.4/commands/CreateAliasCommand.d.ts +2 -77
  78. package/dist-types/ts3.4/commands/CreateCustomKeyStoreCommand.d.ts +2 -69
  79. package/dist-types/ts3.4/commands/CreateGrantCommand.d.ts +2 -82
  80. package/dist-types/ts3.4/commands/CreateKeyCommand.d.ts +2 -144
  81. package/dist-types/ts3.4/commands/DecryptCommand.d.ts +2 -108
  82. package/dist-types/ts3.4/commands/DeleteAliasCommand.d.ts +2 -67
  83. package/dist-types/ts3.4/commands/DeleteCustomKeyStoreCommand.d.ts +2 -74
  84. package/dist-types/ts3.4/commands/DeleteImportedKeyMaterialCommand.d.ts +2 -49
  85. package/dist-types/ts3.4/commands/DescribeCustomKeyStoresCommand.d.ts +2 -73
  86. package/dist-types/ts3.4/commands/DescribeKeyCommand.d.ts +2 -99
  87. package/dist-types/ts3.4/commands/DisableKeyCommand.d.ts +2 -35
  88. package/dist-types/ts3.4/commands/DisableKeyRotationCommand.d.ts +2 -45
  89. package/dist-types/ts3.4/commands/DisconnectCustomKeyStoreCommand.d.ts +2 -72
  90. package/dist-types/ts3.4/commands/EnableKeyCommand.d.ts +2 -32
  91. package/dist-types/ts3.4/commands/EnableKeyRotationCommand.d.ts +2 -45
  92. package/dist-types/ts3.4/commands/EncryptCommand.d.ts +2 -144
  93. package/dist-types/ts3.4/commands/GenerateDataKeyCommand.d.ts +2 -117
  94. package/dist-types/ts3.4/commands/GenerateDataKeyPairCommand.d.ts +2 -96
  95. package/dist-types/ts3.4/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +2 -86
  96. package/dist-types/ts3.4/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +2 -91
  97. package/dist-types/ts3.4/commands/GenerateRandomCommand.d.ts +2 -29
  98. package/dist-types/ts3.4/commands/GetKeyPolicyCommand.d.ts +2 -28
  99. package/dist-types/ts3.4/commands/GetKeyRotationStatusCommand.d.ts +2 -57
  100. package/dist-types/ts3.4/commands/GetParametersForImportCommand.d.ts +2 -54
  101. package/dist-types/ts3.4/commands/GetPublicKeyCommand.d.ts +2 -66
  102. package/dist-types/ts3.4/commands/ImportKeyMaterialCommand.d.ts +2 -83
  103. package/dist-types/ts3.4/commands/ListAliasesCommand.d.ts +2 -62
  104. package/dist-types/ts3.4/commands/ListGrantsCommand.d.ts +2 -65
  105. package/dist-types/ts3.4/commands/ListKeyPoliciesCommand.d.ts +2 -42
  106. package/dist-types/ts3.4/commands/ListKeysCommand.d.ts +2 -50
  107. package/dist-types/ts3.4/commands/ListResourceTagsCommand.d.ts +2 -54
  108. package/dist-types/ts3.4/commands/ListRetirableGrantsCommand.d.ts +2 -63
  109. package/dist-types/ts3.4/commands/PutKeyPolicyCommand.d.ts +2 -33
  110. package/dist-types/ts3.4/commands/ReEncryptCommand.d.ts +2 -118
  111. package/dist-types/ts3.4/commands/ReplicateKeyCommand.d.ts +2 -97
  112. package/dist-types/ts3.4/commands/RetireGrantCommand.d.ts +2 -66
  113. package/dist-types/ts3.4/commands/RevokeGrantCommand.d.ts +2 -63
  114. package/dist-types/ts3.4/commands/ScheduleKeyDeletionCommand.d.ts +2 -74
  115. package/dist-types/ts3.4/commands/SignCommand.d.ts +2 -65
  116. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +2 -67
  117. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +2 -63
  118. package/dist-types/ts3.4/commands/UpdateAliasCommand.d.ts +2 -82
  119. package/dist-types/ts3.4/commands/UpdateCustomKeyStoreCommand.d.ts +2 -92
  120. package/dist-types/ts3.4/commands/UpdateKeyDescriptionCommand.d.ts +2 -43
  121. package/dist-types/ts3.4/commands/UpdatePrimaryRegionCommand.d.ts +2 -85
  122. package/dist-types/ts3.4/commands/VerifyCommand.d.ts +2 -50
  123. package/dist-types/ts3.4/commands/index.d.ts +48 -0
  124. package/dist-types/ts3.4/index.d.ts +4 -55
  125. package/dist-types/ts3.4/models/models_0.d.ts +445 -2963
  126. package/dist-types/ts3.4/pagination/index.d.ts +5 -0
  127. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -3
  128. package/dist-types/ts3.4/runtimeConfig.d.ts +1 -3
  129. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -3
  130. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +1 -3
  131. package/package.json +32 -32
@@ -6,126 +6,11 @@ export interface GenerateDataKeyCommandInput extends GenerateDataKeyRequest {
6
6
  }
7
7
  export interface GenerateDataKeyCommandOutput extends GenerateDataKeyResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Generates a unique symmetric data key for client-side encryption. This operation returns a
11
- * plaintext copy of the data key and a copy that is encrypted under a KMS key that you specify.
12
- * You can use the plaintext key to encrypt your data outside of KMS and store the encrypted
13
- * data key with the encrypted data.</p>
14
- *
15
- * <p>
16
- * <code>GenerateDataKey</code> returns a unique data key for each request. The bytes in the
17
- * plaintext key are not related to the caller or the KMS key.</p>
18
- *
19
- * <p>To generate a data key, specify the symmetric KMS key that will be used to encrypt the
20
- * data key. You cannot use an asymmetric KMS key to generate data keys. To get the type of your
21
- * KMS key, use the <a>DescribeKey</a> operation. You must also specify the length of
22
- * the data key. Use either the <code>KeySpec</code> or <code>NumberOfBytes</code> parameters
23
- * (but not both). For 128-bit and 256-bit data keys, use the <code>KeySpec</code> parameter. </p>
24
- *
25
- * <p>To get only an encrypted copy of the data key, use <a>GenerateDataKeyWithoutPlaintext</a>. To generate an asymmetric data key pair, use
26
- * the <a>GenerateDataKeyPair</a> or <a>GenerateDataKeyPairWithoutPlaintext</a> operation. To get a cryptographically secure
27
- * random byte string, use <a>GenerateRandom</a>.</p>
28
- *
29
- * <p>You can use the optional encryption context to add additional security to the encryption
30
- * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
31
- * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
32
- * Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
33
- * <i>Key Management Service Developer Guide</i>.</p>
34
- * <p>Applications in Amazon Web Services Nitro Enclaves can call this operation by using the <a href="https://github.com/aws/aws-nitro-enclaves-sdk-c">Amazon Web Services Nitro Enclaves Development Kit</a>. For information about the supporting parameters, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves use KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
35
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
36
- * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
37
- * <p>
38
- * <b>How to use your data
39
- * key</b>
40
- * </p>
41
- * <p>We recommend that you use the following pattern to encrypt data locally in your
42
- * application. You can write your own code or use a client-side encryption library, such as the
43
- * <a href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/">Amazon Web Services Encryption SDK</a>, the
44
- * <a href="https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/">Amazon DynamoDB Encryption Client</a>,
45
- * or <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html">Amazon S3
46
- * client-side encryption</a> to do these tasks for you.</p>
47
- * <p>To encrypt data outside of KMS:</p>
48
- * <ol>
49
- * <li>
50
- * <p>Use the <code>GenerateDataKey</code> operation to get a data key.</p>
51
- * </li>
52
- * <li>
53
- * <p>Use the plaintext data key (in the <code>Plaintext</code> field of the response) to
54
- * encrypt your data outside of KMS. Then erase the plaintext data key from memory.</p>
55
- * </li>
56
- * <li>
57
- * <p>Store the encrypted data key (in the <code>CiphertextBlob</code> field of the
58
- * response) with the encrypted data.</p>
59
- * </li>
60
- * </ol>
61
- * <p>To decrypt data outside of KMS:</p>
62
- * <ol>
63
- * <li>
64
- * <p>Use the <a>Decrypt</a> operation to decrypt the encrypted data key. The
65
- * operation returns a plaintext copy of the data key.</p>
66
- * </li>
67
- * <li>
68
- * <p>Use the plaintext data key to decrypt data outside of KMS, then erase the plaintext
69
- * data key from memory.</p>
70
- * </li>
71
- * </ol>
72
- * <p>
73
- * <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
74
- * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
75
- *
76
- * <p>
77
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateDataKey</a> (key policy)</p>
78
- * <p>
79
- * <b>Related operations:</b>
80
- * </p>
81
- * <ul>
82
- * <li>
83
- * <p>
84
- * <a>Decrypt</a>
85
- * </p>
86
- * </li>
87
- * <li>
88
- * <p>
89
- * <a>Encrypt</a>
90
- * </p>
91
- * </li>
92
- * <li>
93
- * <p>
94
- * <a>GenerateDataKeyPair</a>
95
- * </p>
96
- * </li>
97
- * <li>
98
- * <p>
99
- * <a>GenerateDataKeyPairWithoutPlaintext</a>
100
- * </p>
101
- * </li>
102
- * <li>
103
- * <p>
104
- * <a>GenerateDataKeyWithoutPlaintext</a>
105
- * </p>
106
- * </li>
107
- * </ul>
108
- * @example
109
- * Use a bare-bones client and the command you need to make an API call.
110
- * ```javascript
111
- * import { KMSClient, GenerateDataKeyCommand } from "@aws-sdk/client-kms"; // ES Modules import
112
- * // const { KMSClient, GenerateDataKeyCommand } = require("@aws-sdk/client-kms"); // CommonJS import
113
- * const client = new KMSClient(config);
114
- * const command = new GenerateDataKeyCommand(input);
115
- * const response = await client.send(command);
116
- * ```
117
- *
118
- * @see {@link GenerateDataKeyCommandInput} for command's `input` shape.
119
- * @see {@link GenerateDataKeyCommandOutput} for command's `response` shape.
120
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
121
- *
122
- */
9
+
123
10
  export declare class GenerateDataKeyCommand extends $Command<GenerateDataKeyCommandInput, GenerateDataKeyCommandOutput, KMSClientResolvedConfig> {
124
11
  readonly input: GenerateDataKeyCommandInput;
125
12
  constructor(input: GenerateDataKeyCommandInput);
126
- /**
127
- * @internal
128
- */
13
+
129
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GenerateDataKeyCommandInput, GenerateDataKeyCommandOutput>;
130
15
  private serialize;
131
16
  private deserialize;
@@ -6,105 +6,11 @@ export interface GenerateDataKeyPairCommandInput extends GenerateDataKeyPairRequ
6
6
  }
7
7
  export interface GenerateDataKeyPairCommandOutput extends GenerateDataKeyPairResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Generates a unique asymmetric data key pair. The <code>GenerateDataKeyPair</code>
11
- * operation returns a plaintext public key, a plaintext private key, and a copy of the private
12
- * key that is encrypted under the symmetric KMS key you specify. You can use the data key pair
13
- * to perform asymmetric cryptography and implement digital signatures outside of KMS.</p>
14
- *
15
- * <p>You can use the public key that <code>GenerateDataKeyPair</code> returns to encrypt data
16
- * or verify a signature outside of KMS. Then, store the encrypted private key with the data.
17
- * When you are ready to decrypt data or sign a message, you can use the <a>Decrypt</a> operation to decrypt the encrypted private key.</p>
18
- *
19
- * <p>To generate a data key pair, you must specify a symmetric KMS key to encrypt the private
20
- * key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a custom key
21
- * store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
22
- * operation. </p>
23
- * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
24
- * key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for
25
- * either encryption or signing, but not both. However, KMS cannot enforce any restrictions on
26
- * the use of data key pairs outside of KMS.</p>
27
- *
28
- * <p>If you are using the data key pair to encrypt data, or for any operation where you don't
29
- * immediately need a private key, consider using the <a>GenerateDataKeyPairWithoutPlaintext</a> operation.
30
- * <code>GenerateDataKeyPairWithoutPlaintext</code> returns a plaintext public key and an
31
- * encrypted private key, but omits the plaintext private key that you need only to decrypt
32
- * ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use
33
- * the <a>Decrypt</a> operation to decrypt the encrypted private key in the data key
34
- * pair.</p>
35
- *
36
- * <p>
37
- * <code>GenerateDataKeyPair</code> returns a unique data key pair for each request. The
38
- * bytes in the keys are not related to the caller or the KMS key that is used to encrypt the
39
- * private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in
40
- * <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>. The private key is a
41
- * DER-encoded PKCS8 PrivateKeyInfo, as specified in <a href="https://tools.ietf.org/html/rfc5958">RFC 5958</a>.</p>
42
- *
43
- * <p>You can use the optional encryption context to add additional security to the encryption
44
- * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
45
- * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
46
- * Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
47
- * <i>Key Management Service Developer Guide</i>.</p>
48
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
49
- * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
50
- * <p>
51
- * <b>Cross-account
52
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
53
- * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
54
- *
55
- * <p>
56
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateDataKeyPair</a> (key policy)</p>
57
- * <p>
58
- * <b>Related operations:</b>
59
- * </p>
60
- * <ul>
61
- * <li>
62
- * <p>
63
- * <a>Decrypt</a>
64
- * </p>
65
- * </li>
66
- * <li>
67
- * <p>
68
- * <a>Encrypt</a>
69
- * </p>
70
- * </li>
71
- * <li>
72
- * <p>
73
- * <a>GenerateDataKey</a>
74
- * </p>
75
- * </li>
76
- * <li>
77
- * <p>
78
- * <a>GenerateDataKeyPairWithoutPlaintext</a>
79
- * </p>
80
- * </li>
81
- * <li>
82
- * <p>
83
- * <a>GenerateDataKeyWithoutPlaintext</a>
84
- * </p>
85
- * </li>
86
- * </ul>
87
- * @example
88
- * Use a bare-bones client and the command you need to make an API call.
89
- * ```javascript
90
- * import { KMSClient, GenerateDataKeyPairCommand } from "@aws-sdk/client-kms"; // ES Modules import
91
- * // const { KMSClient, GenerateDataKeyPairCommand } = require("@aws-sdk/client-kms"); // CommonJS import
92
- * const client = new KMSClient(config);
93
- * const command = new GenerateDataKeyPairCommand(input);
94
- * const response = await client.send(command);
95
- * ```
96
- *
97
- * @see {@link GenerateDataKeyPairCommandInput} for command's `input` shape.
98
- * @see {@link GenerateDataKeyPairCommandOutput} for command's `response` shape.
99
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
100
- *
101
- */
9
+
102
10
  export declare class GenerateDataKeyPairCommand extends $Command<GenerateDataKeyPairCommandInput, GenerateDataKeyPairCommandOutput, KMSClientResolvedConfig> {
103
11
  readonly input: GenerateDataKeyPairCommandInput;
104
12
  constructor(input: GenerateDataKeyPairCommandInput);
105
- /**
106
- * @internal
107
- */
13
+
108
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GenerateDataKeyPairCommandInput, GenerateDataKeyPairCommandOutput>;
109
15
  private serialize;
110
16
  private deserialize;
@@ -6,95 +6,11 @@ export interface GenerateDataKeyPairWithoutPlaintextCommandInput extends Generat
6
6
  }
7
7
  export interface GenerateDataKeyPairWithoutPlaintextCommandOutput extends GenerateDataKeyPairWithoutPlaintextResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Generates a unique asymmetric data key pair. The
11
- * <code>GenerateDataKeyPairWithoutPlaintext</code> operation returns a plaintext public key
12
- * and a copy of the private key that is encrypted under the symmetric KMS key you specify.
13
- * Unlike <a>GenerateDataKeyPair</a>, this operation does not return a plaintext
14
- * private key. </p>
15
- * <p>You can use the public key that <code>GenerateDataKeyPairWithoutPlaintext</code> returns
16
- * to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key
17
- * with the data. When you are ready to decrypt data or sign a message, you can use the <a>Decrypt</a> operation to decrypt the encrypted private key.</p>
18
- * <p>To generate a data key pair, you must specify a symmetric KMS key to encrypt the private
19
- * key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a custom key
20
- * store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
21
- * operation. </p>
22
- * <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
23
- * key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for
24
- * either encryption or signing, but not both. However, KMS cannot enforce any restrictions on
25
- * the use of data key pairs outside of KMS.</p>
26
- * <p>
27
- * <code>GenerateDataKeyPairWithoutPlaintext</code> returns a unique data key pair for each
28
- * request. The bytes in the key are not related to the caller or KMS key that is used to encrypt
29
- * the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in
30
- * <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>.</p>
31
- *
32
- * <p>You can use the optional encryption context to add additional security to the encryption
33
- * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
34
- * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
35
- * Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
36
- * <i>Key Management Service Developer Guide</i>.</p>
37
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
38
- * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
39
- * <p>
40
- * <b>Cross-account
41
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
42
- * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
43
- *
44
- * <p>
45
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateDataKeyPairWithoutPlaintext</a> (key
46
- * policy)</p>
47
- * <p>
48
- * <b>Related operations:</b>
49
- * </p>
50
- * <ul>
51
- * <li>
52
- * <p>
53
- * <a>Decrypt</a>
54
- * </p>
55
- * </li>
56
- * <li>
57
- * <p>
58
- * <a>Encrypt</a>
59
- * </p>
60
- * </li>
61
- * <li>
62
- * <p>
63
- * <a>GenerateDataKey</a>
64
- * </p>
65
- * </li>
66
- * <li>
67
- * <p>
68
- * <a>GenerateDataKeyPair</a>
69
- * </p>
70
- * </li>
71
- * <li>
72
- * <p>
73
- * <a>GenerateDataKeyWithoutPlaintext</a>
74
- * </p>
75
- * </li>
76
- * </ul>
77
- * @example
78
- * Use a bare-bones client and the command you need to make an API call.
79
- * ```javascript
80
- * import { KMSClient, GenerateDataKeyPairWithoutPlaintextCommand } from "@aws-sdk/client-kms"; // ES Modules import
81
- * // const { KMSClient, GenerateDataKeyPairWithoutPlaintextCommand } = require("@aws-sdk/client-kms"); // CommonJS import
82
- * const client = new KMSClient(config);
83
- * const command = new GenerateDataKeyPairWithoutPlaintextCommand(input);
84
- * const response = await client.send(command);
85
- * ```
86
- *
87
- * @see {@link GenerateDataKeyPairWithoutPlaintextCommandInput} for command's `input` shape.
88
- * @see {@link GenerateDataKeyPairWithoutPlaintextCommandOutput} for command's `response` shape.
89
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
90
- *
91
- */
9
+
92
10
  export declare class GenerateDataKeyPairWithoutPlaintextCommand extends $Command<GenerateDataKeyPairWithoutPlaintextCommandInput, GenerateDataKeyPairWithoutPlaintextCommandOutput, KMSClientResolvedConfig> {
93
11
  readonly input: GenerateDataKeyPairWithoutPlaintextCommandInput;
94
12
  constructor(input: GenerateDataKeyPairWithoutPlaintextCommandInput);
95
- /**
96
- * @internal
97
- */
13
+
98
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GenerateDataKeyPairWithoutPlaintextCommandInput, GenerateDataKeyPairWithoutPlaintextCommandOutput>;
99
15
  private serialize;
100
16
  private deserialize;
@@ -6,100 +6,11 @@ export interface GenerateDataKeyWithoutPlaintextCommandInput extends GenerateDat
6
6
  }
7
7
  export interface GenerateDataKeyWithoutPlaintextCommandOutput extends GenerateDataKeyWithoutPlaintextResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Generates a unique symmetric data key. This operation returns a data key that is encrypted
11
- * under a KMS key that you specify. To request an asymmetric data key pair, use the <a>GenerateDataKeyPair</a> or <a>GenerateDataKeyPairWithoutPlaintext</a>
12
- * operations.</p>
13
- * <p>
14
- * <code>GenerateDataKeyWithoutPlaintext</code> is identical to the <a>GenerateDataKey</a> operation except that returns only the encrypted copy of the
15
- * data key. This operation is useful for systems that need to encrypt data at some point, but
16
- * not immediately. When you need to encrypt the data, you call the <a>Decrypt</a>
17
- * operation on the encrypted copy of the key. </p>
18
- * <p>It's also useful in distributed systems with different levels of trust. For example, you
19
- * might store encrypted data in containers. One component of your system creates new containers
20
- * and stores an encrypted data key with each container. Then, a different component puts the
21
- * data into the containers. That component first decrypts the data key, uses the plaintext data
22
- * key to encrypt data, puts the encrypted data into the container, and then destroys the
23
- * plaintext data key. In this system, the component that creates the containers never sees the
24
- * plaintext data key.</p>
25
- * <p>
26
- * <code>GenerateDataKeyWithoutPlaintext</code> returns a unique data key for each request.
27
- * The bytes in the keys are not related to the caller or KMS key that is used to encrypt the
28
- * private key.</p>
29
- *
30
- * <p>To generate a data key, you must specify the symmetric KMS key that is used to encrypt the
31
- * data key. You cannot use an asymmetric KMS key to generate a data key. To get the type of your
32
- * KMS key, use the <a>DescribeKey</a> operation.</p>
33
- *
34
- * <p>If the operation succeeds, you will find the encrypted copy of the data key in the
35
- * <code>CiphertextBlob</code> field.</p>
36
- *
37
- * <p>You can use the optional encryption context to add additional security to the encryption
38
- * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
39
- * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
40
- * Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
41
- * <i>Key Management Service Developer Guide</i>.</p>
42
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
43
- * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
44
- * <p>
45
- * <b>Cross-account
46
- * use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
47
- * the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
48
- *
49
- * <p>
50
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateDataKeyWithoutPlaintext</a> (key
51
- * policy)</p>
52
- * <p>
53
- * <b>Related operations:</b>
54
- * </p>
55
- * <ul>
56
- * <li>
57
- * <p>
58
- * <a>Decrypt</a>
59
- * </p>
60
- * </li>
61
- * <li>
62
- * <p>
63
- * <a>Encrypt</a>
64
- * </p>
65
- * </li>
66
- * <li>
67
- * <p>
68
- * <a>GenerateDataKey</a>
69
- * </p>
70
- * </li>
71
- * <li>
72
- * <p>
73
- * <a>GenerateDataKeyPair</a>
74
- * </p>
75
- * </li>
76
- * <li>
77
- * <p>
78
- * <a>GenerateDataKeyPairWithoutPlaintext</a>
79
- * </p>
80
- * </li>
81
- * </ul>
82
- * @example
83
- * Use a bare-bones client and the command you need to make an API call.
84
- * ```javascript
85
- * import { KMSClient, GenerateDataKeyWithoutPlaintextCommand } from "@aws-sdk/client-kms"; // ES Modules import
86
- * // const { KMSClient, GenerateDataKeyWithoutPlaintextCommand } = require("@aws-sdk/client-kms"); // CommonJS import
87
- * const client = new KMSClient(config);
88
- * const command = new GenerateDataKeyWithoutPlaintextCommand(input);
89
- * const response = await client.send(command);
90
- * ```
91
- *
92
- * @see {@link GenerateDataKeyWithoutPlaintextCommandInput} for command's `input` shape.
93
- * @see {@link GenerateDataKeyWithoutPlaintextCommandOutput} for command's `response` shape.
94
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
95
- *
96
- */
9
+
97
10
  export declare class GenerateDataKeyWithoutPlaintextCommand extends $Command<GenerateDataKeyWithoutPlaintextCommandInput, GenerateDataKeyWithoutPlaintextCommandOutput, KMSClientResolvedConfig> {
98
11
  readonly input: GenerateDataKeyWithoutPlaintextCommandInput;
99
12
  constructor(input: GenerateDataKeyWithoutPlaintextCommandInput);
100
- /**
101
- * @internal
102
- */
13
+
103
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GenerateDataKeyWithoutPlaintextCommandInput, GenerateDataKeyWithoutPlaintextCommandOutput>;
104
15
  private serialize;
105
16
  private deserialize;
@@ -6,38 +6,11 @@ export interface GenerateRandomCommandInput extends GenerateRandomRequest {
6
6
  }
7
7
  export interface GenerateRandomCommandOutput extends GenerateRandomResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Returns a random byte string that is cryptographically secure.</p>
11
- * <p>By default, the random byte string is generated in KMS. To generate the byte string in
12
- * the CloudHSM cluster that is associated with a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>, specify the custom key store
13
- * ID.</p>
14
- * <p>Applications in Amazon Web Services Nitro Enclaves can call this operation by using the <a href="https://github.com/aws/aws-nitro-enclaves-sdk-c">Amazon Web Services Nitro Enclaves Development Kit</a>. For information about the supporting parameters, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves use KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
15
- * <p>For more information about entropy and random number generation, see
16
- * <a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/">Key Management Service Cryptographic Details</a>.</p>
17
- *
18
- * <p>
19
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateRandom</a> (IAM policy)</p>
20
- * @example
21
- * Use a bare-bones client and the command you need to make an API call.
22
- * ```javascript
23
- * import { KMSClient, GenerateRandomCommand } from "@aws-sdk/client-kms"; // ES Modules import
24
- * // const { KMSClient, GenerateRandomCommand } = require("@aws-sdk/client-kms"); // CommonJS import
25
- * const client = new KMSClient(config);
26
- * const command = new GenerateRandomCommand(input);
27
- * const response = await client.send(command);
28
- * ```
29
- *
30
- * @see {@link GenerateRandomCommandInput} for command's `input` shape.
31
- * @see {@link GenerateRandomCommandOutput} for command's `response` shape.
32
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
33
- *
34
- */
9
+
35
10
  export declare class GenerateRandomCommand extends $Command<GenerateRandomCommandInput, GenerateRandomCommandOutput, KMSClientResolvedConfig> {
36
11
  readonly input: GenerateRandomCommandInput;
37
12
  constructor(input: GenerateRandomCommandInput);
38
- /**
39
- * @internal
40
- */
13
+
41
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GenerateRandomCommandInput, GenerateRandomCommandOutput>;
42
15
  private serialize;
43
16
  private deserialize;
@@ -6,37 +6,11 @@ export interface GetKeyPolicyCommandInput extends GetKeyPolicyRequest {
6
6
  }
7
7
  export interface GetKeyPolicyCommandOutput extends GetKeyPolicyResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Gets a key policy attached to the specified KMS key.</p>
11
- * <p>
12
- * <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
13
- *
14
- * <p>
15
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GetKeyPolicy</a> (key policy)</p>
16
- * <p>
17
- * <b>Related operations</b>: <a>PutKeyPolicy</a>
18
- * </p>
19
- * @example
20
- * Use a bare-bones client and the command you need to make an API call.
21
- * ```javascript
22
- * import { KMSClient, GetKeyPolicyCommand } from "@aws-sdk/client-kms"; // ES Modules import
23
- * // const { KMSClient, GetKeyPolicyCommand } = require("@aws-sdk/client-kms"); // CommonJS import
24
- * const client = new KMSClient(config);
25
- * const command = new GetKeyPolicyCommand(input);
26
- * const response = await client.send(command);
27
- * ```
28
- *
29
- * @see {@link GetKeyPolicyCommandInput} for command's `input` shape.
30
- * @see {@link GetKeyPolicyCommandOutput} for command's `response` shape.
31
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
32
- *
33
- */
9
+
34
10
  export declare class GetKeyPolicyCommand extends $Command<GetKeyPolicyCommandInput, GetKeyPolicyCommandOutput, KMSClientResolvedConfig> {
35
11
  readonly input: GetKeyPolicyCommandInput;
36
12
  constructor(input: GetKeyPolicyCommandInput);
37
- /**
38
- * @internal
39
- */
13
+
40
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GetKeyPolicyCommandInput, GetKeyPolicyCommandOutput>;
41
15
  private serialize;
42
16
  private deserialize;
@@ -6,66 +6,11 @@ export interface GetKeyRotationStatusCommandInput extends GetKeyRotationStatusRe
6
6
  }
7
7
  export interface GetKeyRotationStatusCommandOutput extends GetKeyRotationStatusResponse, __MetadataBearer {
8
8
  }
9
- /**
10
- * <p>Gets a Boolean value that indicates whether <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic rotation of the key material</a> is
11
- * enabled for the specified KMS key.</p>
12
- * <p>You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks">asymmetric 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-overview.html#mrk-replica-key">multi-Region keys</a>, set the property on the primary key. The key rotation status for these KMS keys is always
13
- * <code>false</code>.</p>
14
- * <p>The KMS key that you use for this operation must be in a compatible key state. For
15
- * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
16
- * <ul>
17
- * <li>
18
- * <p>Disabled: The key rotation status does not change when you disable a KMS key. However,
19
- * while the KMS key is disabled, KMS does not rotate the key material.</p>
20
- * </li>
21
- * <li>
22
- * <p>Pending deletion: While a KMS key is pending deletion, its key rotation status is
23
- * <code>false</code> and KMS does not rotate the key material. If you cancel the
24
- * deletion, the original key rotation status is restored.</p>
25
- * </li>
26
- * </ul>
27
- * <p>
28
- * <b>Cross-account use</b>: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key
29
- * ARN in the value of the <code>KeyId</code> parameter.</p>
30
- *
31
- * <p>
32
- * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GetKeyRotationStatus</a> (key policy)</p>
33
- * <p>
34
- * <b>Related operations:</b>
35
- * </p>
36
- * <ul>
37
- * <li>
38
- * <p>
39
- * <a>DisableKeyRotation</a>
40
- * </p>
41
- * </li>
42
- * <li>
43
- * <p>
44
- * <a>EnableKeyRotation</a>
45
- * </p>
46
- * </li>
47
- * </ul>
48
- * @example
49
- * Use a bare-bones client and the command you need to make an API call.
50
- * ```javascript
51
- * import { KMSClient, GetKeyRotationStatusCommand } from "@aws-sdk/client-kms"; // ES Modules import
52
- * // const { KMSClient, GetKeyRotationStatusCommand } = require("@aws-sdk/client-kms"); // CommonJS import
53
- * const client = new KMSClient(config);
54
- * const command = new GetKeyRotationStatusCommand(input);
55
- * const response = await client.send(command);
56
- * ```
57
- *
58
- * @see {@link GetKeyRotationStatusCommandInput} for command's `input` shape.
59
- * @see {@link GetKeyRotationStatusCommandOutput} for command's `response` shape.
60
- * @see {@link KMSClientResolvedConfig | config} for command's `input` shape.
61
- *
62
- */
9
+
63
10
  export declare class GetKeyRotationStatusCommand extends $Command<GetKeyRotationStatusCommandInput, GetKeyRotationStatusCommandOutput, KMSClientResolvedConfig> {
64
11
  readonly input: GetKeyRotationStatusCommandInput;
65
12
  constructor(input: GetKeyRotationStatusCommandInput);
66
- /**
67
- * @internal
68
- */
13
+
69
14
  resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: KMSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GetKeyRotationStatusCommandInput, GetKeyRotationStatusCommandOutput>;
70
15
  private serialize;
71
16
  private deserialize;