@aws-sdk/client-kms 3.554.0 → 3.556.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 (34) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/index.js +151 -1
  3. package/dist-es/KMS.js +4 -0
  4. package/dist-es/commands/ListKeyRotationsCommand.js +24 -0
  5. package/dist-es/commands/RotateKeyOnDemandCommand.js +24 -0
  6. package/dist-es/commands/index.js +2 -0
  7. package/dist-es/models/models_0.js +16 -0
  8. package/dist-es/pagination/ListKeyRotationsPaginator.js +4 -0
  9. package/dist-es/pagination/index.js +1 -0
  10. package/dist-es/protocols/Aws_json1_1.js +83 -2
  11. package/dist-types/KMS.d.ts +14 -0
  12. package/dist-types/KMSClient.d.ts +4 -2
  13. package/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +2 -2
  14. package/dist-types/commands/DisableKeyRotationCommand.d.ts +10 -0
  15. package/dist-types/commands/EnableKeyRotationCommand.d.ts +41 -7
  16. package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +42 -6
  17. package/dist-types/commands/ListKeyRotationsCommand.d.ts +174 -0
  18. package/dist-types/commands/RotateKeyOnDemandCommand.d.ts +186 -0
  19. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +2 -2
  20. package/dist-types/commands/index.d.ts +2 -0
  21. package/dist-types/models/models_0.d.ts +194 -8
  22. package/dist-types/pagination/ListKeyRotationsPaginator.d.ts +7 -0
  23. package/dist-types/pagination/index.d.ts +1 -0
  24. package/dist-types/protocols/Aws_json1_1.d.ts +18 -0
  25. package/dist-types/ts3.4/KMS.d.ts +34 -0
  26. package/dist-types/ts3.4/KMSClient.d.ts +12 -0
  27. package/dist-types/ts3.4/commands/ListKeyRotationsCommand.d.ts +38 -0
  28. package/dist-types/ts3.4/commands/RotateKeyOnDemandCommand.d.ts +39 -0
  29. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  30. package/dist-types/ts3.4/models/models_0.d.ts +36 -0
  31. package/dist-types/ts3.4/pagination/ListKeyRotationsPaginator.d.ts +11 -0
  32. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  33. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +24 -0
  34. package/package.json +4 -4
@@ -275,8 +275,8 @@ declare const UpdateCustomKeyStoreCommand_base: {
275
275
  *
276
276
  * @throws {@link XksProxyUriEndpointInUseException} (client fault)
277
277
  * <p>The request was rejected because the <code>XksProxyUriEndpoint</code> is already
278
- * associated with another external key store in this Amazon Web Services Region. To identify the cause,
279
- * see the error message that accompanies the exception. </p>
278
+ * associated with another external key store in this Amazon Web Services Region. To identify the cause, see
279
+ * the error message that accompanies the exception. </p>
280
280
  *
281
281
  * @throws {@link XksProxyUriInUseException} (client fault)
282
282
  * <p>The request was rejected because the concatenation of the <code>XksProxyUriEndpoint</code>
@@ -30,6 +30,7 @@ export * from "./ImportKeyMaterialCommand";
30
30
  export * from "./ListAliasesCommand";
31
31
  export * from "./ListGrantsCommand";
32
32
  export * from "./ListKeyPoliciesCommand";
33
+ export * from "./ListKeyRotationsCommand";
33
34
  export * from "./ListKeysCommand";
34
35
  export * from "./ListResourceTagsCommand";
35
36
  export * from "./ListRetirableGrantsCommand";
@@ -38,6 +39,7 @@ export * from "./ReEncryptCommand";
38
39
  export * from "./ReplicateKeyCommand";
39
40
  export * from "./RetireGrantCommand";
40
41
  export * from "./RevokeGrantCommand";
42
+ export * from "./RotateKeyOnDemandCommand";
41
43
  export * from "./ScheduleKeyDeletionCommand";
42
44
  export * from "./SignCommand";
43
45
  export * from "./TagResourceCommand";
@@ -282,6 +282,19 @@ export declare class CloudHsmClusterNotRelatedException extends __BaseException
282
282
  */
283
283
  constructor(opts: __ExceptionOptionType<CloudHsmClusterNotRelatedException, __BaseException>);
284
284
  }
285
+ /**
286
+ * <p>The request was rejected because an automatic rotation of this key is currently in
287
+ * progress or scheduled to begin within the next 20 minutes. </p>
288
+ * @public
289
+ */
290
+ export declare class ConflictException extends __BaseException {
291
+ readonly name: "ConflictException";
292
+ readonly $fault: "client";
293
+ /**
294
+ * @internal
295
+ */
296
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
297
+ }
285
298
  /**
286
299
  * @public
287
300
  */
@@ -768,8 +781,8 @@ export declare class XksProxyInvalidResponseException extends __BaseException {
768
781
  }
769
782
  /**
770
783
  * <p>The request was rejected because the <code>XksProxyUriEndpoint</code> is already
771
- * associated with another external key store in this Amazon Web Services Region. To identify the cause,
772
- * see the error message that accompanies the exception. </p>
784
+ * associated with another external key store in this Amazon Web Services Region. To identify the cause, see
785
+ * the error message that accompanies the exception. </p>
773
786
  * @public
774
787
  */
775
788
  export declare class XksProxyUriEndpointInUseException extends __BaseException {
@@ -2652,7 +2665,7 @@ export interface DescribeCustomKeyStoresResponse {
2652
2665
  /**
2653
2666
  * <p>A flag that indicates whether there are more items in the list. When this
2654
2667
  * value is true, the list in this response is truncated. To get more items, pass the value of
2655
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
2668
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
2656
2669
  * subsequent request.</p>
2657
2670
  * @public
2658
2671
  */
@@ -2831,6 +2844,20 @@ export interface EnableKeyRotationRequest {
2831
2844
  * @public
2832
2845
  */
2833
2846
  KeyId: string | undefined;
2847
+ /**
2848
+ * <p>Use this parameter to specify a custom period of time between each rotation date. If no
2849
+ * value is specified, the default value is 365 days.</p>
2850
+ * <p>The rotation period defines the number of days after you enable automatic key rotation
2851
+ * that KMS will rotate your key material, and the number of days between each automatic
2852
+ * rotation thereafter.</p>
2853
+ * <p>You can use the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-rotation-period-in-days">
2854
+ * <code>kms:RotationPeriodInDays</code>
2855
+ * </a> condition key to further constrain the
2856
+ * values that principals can specify in the <code>RotationPeriodInDays</code> parameter.</p>
2857
+ * <p> </p>
2858
+ * @public
2859
+ */
2860
+ RotationPeriodInDays?: number;
2834
2861
  }
2835
2862
  /**
2836
2863
  * @public
@@ -3564,6 +3591,31 @@ export interface GetKeyRotationStatusResponse {
3564
3591
  * @public
3565
3592
  */
3566
3593
  KeyRotationEnabled?: boolean;
3594
+ /**
3595
+ * <p>Identifies the specified symmetric encryption KMS key.</p>
3596
+ * @public
3597
+ */
3598
+ KeyId?: string;
3599
+ /**
3600
+ * <p>The number of days between each automatic rotation. The default value is 365 days.</p>
3601
+ * @public
3602
+ */
3603
+ RotationPeriodInDays?: number;
3604
+ /**
3605
+ * <p>The next date that KMS will automatically rotate the key material.</p>
3606
+ * @public
3607
+ */
3608
+ NextRotationDate?: Date;
3609
+ /**
3610
+ * <p>Identifies the date and time that an in progress on-demand rotation was initiated.</p>
3611
+ * <p>The KMS API follows an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html">eventual consistency</a> model
3612
+ * due to the distributed nature of the system. As a result, there might be a slight delay
3613
+ * between initiating on-demand key rotation and the rotation's completion. Once the on-demand
3614
+ * rotation is complete, use <a>ListKeyRotations</a> to view the details of the
3615
+ * on-demand rotation.</p>
3616
+ * @public
3617
+ */
3618
+ OnDemandRotationStartDate?: Date;
3567
3619
  }
3568
3620
  /**
3569
3621
  * @public
@@ -4056,7 +4108,7 @@ export interface ListAliasesResponse {
4056
4108
  /**
4057
4109
  * <p>A flag that indicates whether there are more items in the list. When this
4058
4110
  * value is true, the list in this response is truncated. To get more items, pass the value of
4059
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
4111
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4060
4112
  * subsequent request.</p>
4061
4113
  * @public
4062
4114
  */
@@ -4132,7 +4184,7 @@ export interface ListGrantsResponse {
4132
4184
  /**
4133
4185
  * <p>A flag that indicates whether there are more items in the list. When this
4134
4186
  * value is true, the list in this response is truncated. To get more items, pass the value of
4135
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
4187
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4136
4188
  * subsequent request.</p>
4137
4189
  * @public
4138
4190
  */
@@ -4196,7 +4248,103 @@ export interface ListKeyPoliciesResponse {
4196
4248
  /**
4197
4249
  * <p>A flag that indicates whether there are more items in the list. When this
4198
4250
  * value is true, the list in this response is truncated. To get more items, pass the value of
4199
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
4251
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4252
+ * subsequent request.</p>
4253
+ * @public
4254
+ */
4255
+ Truncated?: boolean;
4256
+ }
4257
+ /**
4258
+ * @public
4259
+ */
4260
+ export interface ListKeyRotationsRequest {
4261
+ /**
4262
+ * <p>Gets the key rotations for the specified KMS key.</p>
4263
+ * <p>Specify the key ID or key ARN of the KMS key.</p>
4264
+ * <p>For example:</p>
4265
+ * <ul>
4266
+ * <li>
4267
+ * <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code>
4268
+ * </p>
4269
+ * </li>
4270
+ * <li>
4271
+ * <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>
4272
+ * </p>
4273
+ * </li>
4274
+ * </ul>
4275
+ * <p>To get the key ID and key ARN for a KMS key, use <a>ListKeys</a> or <a>DescribeKey</a>.</p>
4276
+ * @public
4277
+ */
4278
+ KeyId: string | undefined;
4279
+ /**
4280
+ * <p>Use this parameter to specify the maximum number of items to return. When this
4281
+ * value is present, KMS does not return more than the specified number of items, but it might
4282
+ * return fewer.</p>
4283
+ * <p>This value is optional. If you include a value, it must be between
4284
+ * 1 and 1000, inclusive. If you do not include a value, it defaults to 100.</p>
4285
+ * @public
4286
+ */
4287
+ Limit?: number;
4288
+ /**
4289
+ * <p>Use this parameter in a subsequent request after you receive a response with
4290
+ * truncated results. Set it to the value of <code>NextMarker</code> from the truncated response
4291
+ * you just received.</p>
4292
+ * @public
4293
+ */
4294
+ Marker?: string;
4295
+ }
4296
+ /**
4297
+ * @public
4298
+ * @enum
4299
+ */
4300
+ export declare const RotationType: {
4301
+ readonly AUTOMATIC: "AUTOMATIC";
4302
+ readonly ON_DEMAND: "ON_DEMAND";
4303
+ };
4304
+ /**
4305
+ * @public
4306
+ */
4307
+ export type RotationType = (typeof RotationType)[keyof typeof RotationType];
4308
+ /**
4309
+ * <p>Contains information about completed key material rotations.</p>
4310
+ * @public
4311
+ */
4312
+ export interface RotationsListEntry {
4313
+ /**
4314
+ * <p>Unique identifier of the key.</p>
4315
+ * @public
4316
+ */
4317
+ KeyId?: string;
4318
+ /**
4319
+ * <p>Date and time that the key material rotation completed. Formatted as Unix time.</p>
4320
+ * @public
4321
+ */
4322
+ RotationDate?: Date;
4323
+ /**
4324
+ * <p>Identifies whether the key material rotation was a scheduled <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable">automatic rotation</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand">on-demand rotation</a>.</p>
4325
+ * @public
4326
+ */
4327
+ RotationType?: RotationType;
4328
+ }
4329
+ /**
4330
+ * @public
4331
+ */
4332
+ export interface ListKeyRotationsResponse {
4333
+ /**
4334
+ * <p>A list of completed key material rotations.</p>
4335
+ * @public
4336
+ */
4337
+ Rotations?: RotationsListEntry[];
4338
+ /**
4339
+ * <p>When <code>Truncated</code> is true, this element is present and contains the
4340
+ * value to use for the <code>Marker</code> parameter in a subsequent request.</p>
4341
+ * @public
4342
+ */
4343
+ NextMarker?: string;
4344
+ /**
4345
+ * <p>A flag that indicates whether there are more items in the list. When this
4346
+ * value is true, the list in this response is truncated. To get more items, pass the value of
4347
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4200
4348
  * subsequent request.</p>
4201
4349
  * @public
4202
4350
  */
@@ -4241,7 +4389,7 @@ export interface ListKeysResponse {
4241
4389
  /**
4242
4390
  * <p>A flag that indicates whether there are more items in the list. When this
4243
4391
  * value is true, the list in this response is truncated. To get more items, pass the value of
4244
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
4392
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4245
4393
  * subsequent request.</p>
4246
4394
  * @public
4247
4395
  */
@@ -4310,7 +4458,7 @@ export interface ListResourceTagsResponse {
4310
4458
  /**
4311
4459
  * <p>A flag that indicates whether there are more items in the list. When this
4312
4460
  * value is true, the list in this response is truncated. To get more items, pass the value of
4313
- * the <code>NextMarker</code> element in thisresponse to the <code>Marker</code> parameter in a
4461
+ * the <code>NextMarker</code> element in this response to the <code>Marker</code> parameter in a
4314
4462
  * subsequent request.</p>
4315
4463
  * @public
4316
4464
  */
@@ -4842,6 +4990,44 @@ export interface RevokeGrantRequest {
4842
4990
  */
4843
4991
  DryRun?: boolean;
4844
4992
  }
4993
+ /**
4994
+ * @public
4995
+ */
4996
+ export interface RotateKeyOnDemandRequest {
4997
+ /**
4998
+ * <p>Identifies a symmetric encryption KMS key. You cannot perform on-demand rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>,
4999
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>,
5000
+ * 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 perform
5001
+ * on-demand 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>,
5002
+ * invoke the on-demand rotation on the primary key.</p>
5003
+ * <p>Specify the key ID or key ARN of the KMS key.</p>
5004
+ * <p>For example:</p>
5005
+ * <ul>
5006
+ * <li>
5007
+ * <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code>
5008
+ * </p>
5009
+ * </li>
5010
+ * <li>
5011
+ * <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>
5012
+ * </p>
5013
+ * </li>
5014
+ * </ul>
5015
+ * <p>To get the key ID and key ARN for a KMS key, use <a>ListKeys</a> or <a>DescribeKey</a>.</p>
5016
+ * @public
5017
+ */
5018
+ KeyId: string | undefined;
5019
+ }
5020
+ /**
5021
+ * @public
5022
+ */
5023
+ export interface RotateKeyOnDemandResponse {
5024
+ /**
5025
+ * <p>Identifies the symmetric encryption KMS key that you initiated on-demand rotation
5026
+ * on.</p>
5027
+ * @public
5028
+ */
5029
+ KeyId?: string;
5030
+ }
4845
5031
  /**
4846
5032
  * @public
4847
5033
  */
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { ListKeyRotationsCommandInput, ListKeyRotationsCommandOutput } from "../commands/ListKeyRotationsCommand";
3
+ import { KMSPaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare const paginateListKeyRotations: (config: KMSPaginationConfiguration, input: ListKeyRotationsCommandInput, ...rest: any[]) => Paginator<ListKeyRotationsCommandOutput>;
@@ -3,6 +3,7 @@ export * from "./Interfaces";
3
3
  export * from "./ListAliasesPaginator";
4
4
  export * from "./ListGrantsPaginator";
5
5
  export * from "./ListKeyPoliciesPaginator";
6
+ export * from "./ListKeyRotationsPaginator";
6
7
  export * from "./ListKeysPaginator";
7
8
  export * from "./ListResourceTagsPaginator";
8
9
  export * from "./ListRetirableGrantsPaginator";
@@ -32,6 +32,7 @@ import { ImportKeyMaterialCommandInput, ImportKeyMaterialCommandOutput } from ".
32
32
  import { ListAliasesCommandInput, ListAliasesCommandOutput } from "../commands/ListAliasesCommand";
33
33
  import { ListGrantsCommandInput, ListGrantsCommandOutput } from "../commands/ListGrantsCommand";
34
34
  import { ListKeyPoliciesCommandInput, ListKeyPoliciesCommandOutput } from "../commands/ListKeyPoliciesCommand";
35
+ import { ListKeyRotationsCommandInput, ListKeyRotationsCommandOutput } from "../commands/ListKeyRotationsCommand";
35
36
  import { ListKeysCommandInput, ListKeysCommandOutput } from "../commands/ListKeysCommand";
36
37
  import { ListResourceTagsCommandInput, ListResourceTagsCommandOutput } from "../commands/ListResourceTagsCommand";
37
38
  import { ListRetirableGrantsCommandInput, ListRetirableGrantsCommandOutput } from "../commands/ListRetirableGrantsCommand";
@@ -40,6 +41,7 @@ import { ReEncryptCommandInput, ReEncryptCommandOutput } from "../commands/ReEnc
40
41
  import { ReplicateKeyCommandInput, ReplicateKeyCommandOutput } from "../commands/ReplicateKeyCommand";
41
42
  import { RetireGrantCommandInput, RetireGrantCommandOutput } from "../commands/RetireGrantCommand";
42
43
  import { RevokeGrantCommandInput, RevokeGrantCommandOutput } from "../commands/RevokeGrantCommand";
44
+ import { RotateKeyOnDemandCommandInput, RotateKeyOnDemandCommandOutput } from "../commands/RotateKeyOnDemandCommand";
43
45
  import { ScheduleKeyDeletionCommandInput, ScheduleKeyDeletionCommandOutput } from "../commands/ScheduleKeyDeletionCommand";
44
46
  import { SignCommandInput, SignCommandOutput } from "../commands/SignCommand";
45
47
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
@@ -178,6 +180,10 @@ export declare const se_ListGrantsCommand: (input: ListGrantsCommandInput, conte
178
180
  * serializeAws_json1_1ListKeyPoliciesCommand
179
181
  */
180
182
  export declare const se_ListKeyPoliciesCommand: (input: ListKeyPoliciesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
183
+ /**
184
+ * serializeAws_json1_1ListKeyRotationsCommand
185
+ */
186
+ export declare const se_ListKeyRotationsCommand: (input: ListKeyRotationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
181
187
  /**
182
188
  * serializeAws_json1_1ListKeysCommand
183
189
  */
@@ -210,6 +216,10 @@ export declare const se_RetireGrantCommand: (input: RetireGrantCommandInput, con
210
216
  * serializeAws_json1_1RevokeGrantCommand
211
217
  */
212
218
  export declare const se_RevokeGrantCommand: (input: RevokeGrantCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
219
+ /**
220
+ * serializeAws_json1_1RotateKeyOnDemandCommand
221
+ */
222
+ export declare const se_RotateKeyOnDemandCommand: (input: RotateKeyOnDemandCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
213
223
  /**
214
224
  * serializeAws_json1_1ScheduleKeyDeletionCommand
215
225
  */
@@ -378,6 +388,10 @@ export declare const de_ListGrantsCommand: (output: __HttpResponse, context: __S
378
388
  * deserializeAws_json1_1ListKeyPoliciesCommand
379
389
  */
380
390
  export declare const de_ListKeyPoliciesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListKeyPoliciesCommandOutput>;
391
+ /**
392
+ * deserializeAws_json1_1ListKeyRotationsCommand
393
+ */
394
+ export declare const de_ListKeyRotationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListKeyRotationsCommandOutput>;
381
395
  /**
382
396
  * deserializeAws_json1_1ListKeysCommand
383
397
  */
@@ -410,6 +424,10 @@ export declare const de_RetireGrantCommand: (output: __HttpResponse, context: __
410
424
  * deserializeAws_json1_1RevokeGrantCommand
411
425
  */
412
426
  export declare const de_RevokeGrantCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<RevokeGrantCommandOutput>;
427
+ /**
428
+ * deserializeAws_json1_1RotateKeyOnDemandCommand
429
+ */
430
+ export declare const de_RotateKeyOnDemandCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<RotateKeyOnDemandCommandOutput>;
413
431
  /**
414
432
  * deserializeAws_json1_1ScheduleKeyDeletionCommand
415
433
  */
@@ -127,6 +127,10 @@ import {
127
127
  ListKeyPoliciesCommandInput,
128
128
  ListKeyPoliciesCommandOutput,
129
129
  } from "./commands/ListKeyPoliciesCommand";
130
+ import {
131
+ ListKeyRotationsCommandInput,
132
+ ListKeyRotationsCommandOutput,
133
+ } from "./commands/ListKeyRotationsCommand";
130
134
  import {
131
135
  ListKeysCommandInput,
132
136
  ListKeysCommandOutput,
@@ -159,6 +163,10 @@ import {
159
163
  RevokeGrantCommandInput,
160
164
  RevokeGrantCommandOutput,
161
165
  } from "./commands/RevokeGrantCommand";
166
+ import {
167
+ RotateKeyOnDemandCommandInput,
168
+ RotateKeyOnDemandCommandOutput,
169
+ } from "./commands/RotateKeyOnDemandCommand";
162
170
  import {
163
171
  ScheduleKeyDeletionCommandInput,
164
172
  ScheduleKeyDeletionCommandOutput,
@@ -624,6 +632,19 @@ export interface KMS {
624
632
  options: __HttpHandlerOptions,
625
633
  cb: (err: any, data?: ListKeyPoliciesCommandOutput) => void
626
634
  ): void;
635
+ listKeyRotations(
636
+ args: ListKeyRotationsCommandInput,
637
+ options?: __HttpHandlerOptions
638
+ ): Promise<ListKeyRotationsCommandOutput>;
639
+ listKeyRotations(
640
+ args: ListKeyRotationsCommandInput,
641
+ cb: (err: any, data?: ListKeyRotationsCommandOutput) => void
642
+ ): void;
643
+ listKeyRotations(
644
+ args: ListKeyRotationsCommandInput,
645
+ options: __HttpHandlerOptions,
646
+ cb: (err: any, data?: ListKeyRotationsCommandOutput) => void
647
+ ): void;
627
648
  listKeys(): Promise<ListKeysCommandOutput>;
628
649
  listKeys(
629
650
  args: ListKeysCommandInput,
@@ -730,6 +751,19 @@ export interface KMS {
730
751
  options: __HttpHandlerOptions,
731
752
  cb: (err: any, data?: RevokeGrantCommandOutput) => void
732
753
  ): void;
754
+ rotateKeyOnDemand(
755
+ args: RotateKeyOnDemandCommandInput,
756
+ options?: __HttpHandlerOptions
757
+ ): Promise<RotateKeyOnDemandCommandOutput>;
758
+ rotateKeyOnDemand(
759
+ args: RotateKeyOnDemandCommandInput,
760
+ cb: (err: any, data?: RotateKeyOnDemandCommandOutput) => void
761
+ ): void;
762
+ rotateKeyOnDemand(
763
+ args: RotateKeyOnDemandCommandInput,
764
+ options: __HttpHandlerOptions,
765
+ cb: (err: any, data?: RotateKeyOnDemandCommandOutput) => void
766
+ ): void;
733
767
  scheduleKeyDeletion(
734
768
  args: ScheduleKeyDeletionCommandInput,
735
769
  options?: __HttpHandlerOptions
@@ -173,6 +173,10 @@ import {
173
173
  ListKeyPoliciesCommandInput,
174
174
  ListKeyPoliciesCommandOutput,
175
175
  } from "./commands/ListKeyPoliciesCommand";
176
+ import {
177
+ ListKeyRotationsCommandInput,
178
+ ListKeyRotationsCommandOutput,
179
+ } from "./commands/ListKeyRotationsCommand";
176
180
  import {
177
181
  ListKeysCommandInput,
178
182
  ListKeysCommandOutput,
@@ -205,6 +209,10 @@ import {
205
209
  RevokeGrantCommandInput,
206
210
  RevokeGrantCommandOutput,
207
211
  } from "./commands/RevokeGrantCommand";
212
+ import {
213
+ RotateKeyOnDemandCommandInput,
214
+ RotateKeyOnDemandCommandOutput,
215
+ } from "./commands/RotateKeyOnDemandCommand";
208
216
  import {
209
217
  ScheduleKeyDeletionCommandInput,
210
218
  ScheduleKeyDeletionCommandOutput,
@@ -282,6 +290,7 @@ export type ServiceInputTypes =
282
290
  | ListAliasesCommandInput
283
291
  | ListGrantsCommandInput
284
292
  | ListKeyPoliciesCommandInput
293
+ | ListKeyRotationsCommandInput
285
294
  | ListKeysCommandInput
286
295
  | ListResourceTagsCommandInput
287
296
  | ListRetirableGrantsCommandInput
@@ -290,6 +299,7 @@ export type ServiceInputTypes =
290
299
  | ReplicateKeyCommandInput
291
300
  | RetireGrantCommandInput
292
301
  | RevokeGrantCommandInput
302
+ | RotateKeyOnDemandCommandInput
293
303
  | ScheduleKeyDeletionCommandInput
294
304
  | SignCommandInput
295
305
  | TagResourceCommandInput
@@ -333,6 +343,7 @@ export type ServiceOutputTypes =
333
343
  | ListAliasesCommandOutput
334
344
  | ListGrantsCommandOutput
335
345
  | ListKeyPoliciesCommandOutput
346
+ | ListKeyRotationsCommandOutput
336
347
  | ListKeysCommandOutput
337
348
  | ListResourceTagsCommandOutput
338
349
  | ListRetirableGrantsCommandOutput
@@ -341,6 +352,7 @@ export type ServiceOutputTypes =
341
352
  | ReplicateKeyCommandOutput
342
353
  | RetireGrantCommandOutput
343
354
  | RevokeGrantCommandOutput
355
+ | RotateKeyOnDemandCommandOutput
344
356
  | ScheduleKeyDeletionCommandOutput
345
357
  | SignCommandOutput
346
358
  | TagResourceCommandOutput
@@ -0,0 +1,38 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import {
4
+ KMSClientResolvedConfig,
5
+ ServiceInputTypes,
6
+ ServiceOutputTypes,
7
+ } from "../KMSClient";
8
+ import {
9
+ ListKeyRotationsRequest,
10
+ ListKeyRotationsResponse,
11
+ } from "../models/models_0";
12
+ export { __MetadataBearer, $Command };
13
+ export interface ListKeyRotationsCommandInput extends ListKeyRotationsRequest {}
14
+ export interface ListKeyRotationsCommandOutput
15
+ extends ListKeyRotationsResponse,
16
+ __MetadataBearer {}
17
+ declare const ListKeyRotationsCommand_base: {
18
+ new (
19
+ input: ListKeyRotationsCommandInput
20
+ ): import("@smithy/smithy-client").CommandImpl<
21
+ ListKeyRotationsCommandInput,
22
+ ListKeyRotationsCommandOutput,
23
+ KMSClientResolvedConfig,
24
+ ServiceInputTypes,
25
+ ServiceOutputTypes
26
+ >;
27
+ new (
28
+ __0_0: ListKeyRotationsCommandInput
29
+ ): import("@smithy/smithy-client").CommandImpl<
30
+ ListKeyRotationsCommandInput,
31
+ ListKeyRotationsCommandOutput,
32
+ KMSClientResolvedConfig,
33
+ ServiceInputTypes,
34
+ ServiceOutputTypes
35
+ >;
36
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
37
+ };
38
+ export declare class ListKeyRotationsCommand extends ListKeyRotationsCommand_base {}
@@ -0,0 +1,39 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import {
4
+ KMSClientResolvedConfig,
5
+ ServiceInputTypes,
6
+ ServiceOutputTypes,
7
+ } from "../KMSClient";
8
+ import {
9
+ RotateKeyOnDemandRequest,
10
+ RotateKeyOnDemandResponse,
11
+ } from "../models/models_0";
12
+ export { __MetadataBearer, $Command };
13
+ export interface RotateKeyOnDemandCommandInput
14
+ extends RotateKeyOnDemandRequest {}
15
+ export interface RotateKeyOnDemandCommandOutput
16
+ extends RotateKeyOnDemandResponse,
17
+ __MetadataBearer {}
18
+ declare const RotateKeyOnDemandCommand_base: {
19
+ new (
20
+ input: RotateKeyOnDemandCommandInput
21
+ ): import("@smithy/smithy-client").CommandImpl<
22
+ RotateKeyOnDemandCommandInput,
23
+ RotateKeyOnDemandCommandOutput,
24
+ KMSClientResolvedConfig,
25
+ ServiceInputTypes,
26
+ ServiceOutputTypes
27
+ >;
28
+ new (
29
+ __0_0: RotateKeyOnDemandCommandInput
30
+ ): import("@smithy/smithy-client").CommandImpl<
31
+ RotateKeyOnDemandCommandInput,
32
+ RotateKeyOnDemandCommandOutput,
33
+ KMSClientResolvedConfig,
34
+ ServiceInputTypes,
35
+ ServiceOutputTypes
36
+ >;
37
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
38
+ };
39
+ export declare class RotateKeyOnDemandCommand extends RotateKeyOnDemandCommand_base {}
@@ -30,6 +30,7 @@ export * from "./ImportKeyMaterialCommand";
30
30
  export * from "./ListAliasesCommand";
31
31
  export * from "./ListGrantsCommand";
32
32
  export * from "./ListKeyPoliciesCommand";
33
+ export * from "./ListKeyRotationsCommand";
33
34
  export * from "./ListKeysCommand";
34
35
  export * from "./ListResourceTagsCommand";
35
36
  export * from "./ListRetirableGrantsCommand";
@@ -38,6 +39,7 @@ export * from "./ReEncryptCommand";
38
39
  export * from "./ReplicateKeyCommand";
39
40
  export * from "./RetireGrantCommand";
40
41
  export * from "./RevokeGrantCommand";
42
+ export * from "./RotateKeyOnDemandCommand";
41
43
  export * from "./ScheduleKeyDeletionCommand";
42
44
  export * from "./SignCommand";
43
45
  export * from "./TagResourceCommand";
@@ -108,6 +108,11 @@ export declare class CloudHsmClusterNotRelatedException extends __BaseException
108
108
  >
109
109
  );
110
110
  }
111
+ export declare class ConflictException extends __BaseException {
112
+ readonly name: "ConflictException";
113
+ readonly $fault: "client";
114
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
115
+ }
111
116
  export interface ConnectCustomKeyStoreRequest {
112
117
  CustomKeyStoreId: string | undefined;
113
118
  }
@@ -726,6 +731,7 @@ export interface EnableKeyRequest {
726
731
  }
727
732
  export interface EnableKeyRotationRequest {
728
733
  KeyId: string | undefined;
734
+ RotationPeriodInDays?: number;
729
735
  }
730
736
  export interface EncryptRequest {
731
737
  KeyId: string | undefined;
@@ -837,6 +843,10 @@ export interface GetKeyRotationStatusRequest {
837
843
  }
838
844
  export interface GetKeyRotationStatusResponse {
839
845
  KeyRotationEnabled?: boolean;
846
+ KeyId?: string;
847
+ RotationPeriodInDays?: number;
848
+ NextRotationDate?: Date;
849
+ OnDemandRotationStartDate?: Date;
840
850
  }
841
851
  export declare const WrappingKeySpec: {
842
852
  readonly RSA_2048: "RSA_2048";
@@ -959,6 +969,26 @@ export interface ListKeyPoliciesResponse {
959
969
  NextMarker?: string;
960
970
  Truncated?: boolean;
961
971
  }
972
+ export interface ListKeyRotationsRequest {
973
+ KeyId: string | undefined;
974
+ Limit?: number;
975
+ Marker?: string;
976
+ }
977
+ export declare const RotationType: {
978
+ readonly AUTOMATIC: "AUTOMATIC";
979
+ readonly ON_DEMAND: "ON_DEMAND";
980
+ };
981
+ export type RotationType = (typeof RotationType)[keyof typeof RotationType];
982
+ export interface RotationsListEntry {
983
+ KeyId?: string;
984
+ RotationDate?: Date;
985
+ RotationType?: RotationType;
986
+ }
987
+ export interface ListKeyRotationsResponse {
988
+ Rotations?: RotationsListEntry[];
989
+ NextMarker?: string;
990
+ Truncated?: boolean;
991
+ }
962
992
  export interface ListKeysRequest {
963
993
  Limit?: number;
964
994
  Marker?: string;
@@ -1036,6 +1066,12 @@ export interface RevokeGrantRequest {
1036
1066
  GrantId: string | undefined;
1037
1067
  DryRun?: boolean;
1038
1068
  }
1069
+ export interface RotateKeyOnDemandRequest {
1070
+ KeyId: string | undefined;
1071
+ }
1072
+ export interface RotateKeyOnDemandResponse {
1073
+ KeyId?: string;
1074
+ }
1039
1075
  export interface ScheduleKeyDeletionRequest {
1040
1076
  KeyId: string | undefined;
1041
1077
  PendingWindowInDays?: number;
@@ -0,0 +1,11 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import {
3
+ ListKeyRotationsCommandInput,
4
+ ListKeyRotationsCommandOutput,
5
+ } from "../commands/ListKeyRotationsCommand";
6
+ import { KMSPaginationConfiguration } from "./Interfaces";
7
+ export declare const paginateListKeyRotations: (
8
+ config: KMSPaginationConfiguration,
9
+ input: ListKeyRotationsCommandInput,
10
+ ...rest: any[]
11
+ ) => Paginator<ListKeyRotationsCommandOutput>;