@aws-sdk/client-kms 3.1037.0 → 3.1039.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 (32) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +29 -0
  3. package/dist-cjs/schemas/schemas_0.js +33 -4
  4. package/dist-es/KMS.js +2 -0
  5. package/dist-es/commands/GetKeyLastUsageCommand.js +16 -0
  6. package/dist-es/commands/index.js +1 -0
  7. package/dist-es/models/enums.js +14 -0
  8. package/dist-es/schemas/schemas_0.js +29 -0
  9. package/dist-types/KMS.d.ts +7 -0
  10. package/dist-types/KMSClient.d.ts +3 -2
  11. package/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +4 -2
  12. package/dist-types/commands/CreateKeyCommand.d.ts +4 -2
  13. package/dist-types/commands/DecryptCommand.d.ts +5 -3
  14. package/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +4 -2
  15. package/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +4 -2
  16. package/dist-types/commands/GenerateRandomCommand.d.ts +4 -2
  17. package/dist-types/commands/GetKeyLastUsageCommand.d.ts +188 -0
  18. package/dist-types/commands/ReEncryptCommand.d.ts +4 -2
  19. package/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +8 -4
  20. package/dist-types/commands/index.d.ts +1 -0
  21. package/dist-types/models/enums.d.ts +22 -0
  22. package/dist-types/models/errors.d.ts +4 -2
  23. package/dist-types/models/models_0.d.ts +99 -5
  24. package/dist-types/schemas/schemas_0.d.ts +4 -0
  25. package/dist-types/ts3.4/KMS.d.ts +17 -0
  26. package/dist-types/ts3.4/KMSClient.d.ts +6 -0
  27. package/dist-types/ts3.4/commands/GetKeyLastUsageCommand.d.ts +50 -0
  28. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  29. package/dist-types/ts3.4/models/enums.d.ts +16 -0
  30. package/dist-types/ts3.4/models/models_0.d.ts +16 -0
  31. package/dist-types/ts3.4/schemas/schemas_0.d.ts +4 -0
  32. package/package.json +7 -7
package/README.md CHANGED
@@ -453,6 +453,13 @@ GenerateRandom
453
453
  </details>
454
454
  <details>
455
455
  <summary>
456
+ GetKeyLastUsage
457
+ </summary>
458
+
459
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/kms/command/GetKeyLastUsageCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/GetKeyLastUsageCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/GetKeyLastUsageCommandOutput/)
460
+ </details>
461
+ <details>
462
+ <summary>
456
463
  GetKeyPolicy
457
464
  </summary>
458
465
 
package/dist-cjs/index.js CHANGED
@@ -413,6 +413,18 @@ class GenerateRandomCommand extends smithyClient.Command
413
413
  .build() {
414
414
  }
415
415
 
416
+ class GetKeyLastUsageCommand extends smithyClient.Command
417
+ .classBuilder()
418
+ .ep(commonParams)
419
+ .m(function (Command, cs, config, o) {
420
+ return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
421
+ })
422
+ .s("TrentService", "GetKeyLastUsage", {})
423
+ .n("KMSClient", "GetKeyLastUsageCommand")
424
+ .sc(schemas_0.GetKeyLastUsage$)
425
+ .build() {
426
+ }
427
+
416
428
  class GetKeyPolicyCommand extends smithyClient.Command
417
429
  .classBuilder()
418
430
  .ep(commonParams)
@@ -791,6 +803,7 @@ const commands = {
791
803
  GenerateDataKeyWithoutPlaintextCommand,
792
804
  GenerateMacCommand,
793
805
  GenerateRandomCommand,
806
+ GetKeyLastUsageCommand,
794
807
  GetKeyPolicyCommand,
795
808
  GetKeyRotationStatusCommand,
796
809
  GetParametersForImportCommand,
@@ -1015,6 +1028,20 @@ const DryRunModifierType = {
1015
1028
  const KeyEncryptionMechanism = {
1016
1029
  RSAES_OAEP_SHA_256: "RSAES_OAEP_SHA_256",
1017
1030
  };
1031
+ const KeyLastUsageTrackingOperation = {
1032
+ Decrypt: "Decrypt",
1033
+ DeriveSharedSecret: "DeriveSharedSecret",
1034
+ Encrypt: "Encrypt",
1035
+ GenerateDataKey: "GenerateDataKey",
1036
+ GenerateDataKeyPair: "GenerateDataKeyPair",
1037
+ GenerateDataKeyPairWithoutPlaintext: "GenerateDataKeyPairWithoutPlaintext",
1038
+ GenerateDataKeyWithoutPlaintext: "GenerateDataKeyWithoutPlaintext",
1039
+ GenerateMac: "GenerateMac",
1040
+ ReEncrypt: "ReEncrypt",
1041
+ Sign: "Sign",
1042
+ Verify: "Verify",
1043
+ VerifyMac: "VerifyMac",
1044
+ };
1018
1045
  const WrappingKeySpec = {
1019
1046
  RSA_2048: "RSA_2048",
1020
1047
  RSA_3072: "RSA_3072",
@@ -1087,6 +1114,7 @@ exports.GenerateDataKeyPairWithoutPlaintextCommand = GenerateDataKeyPairWithoutP
1087
1114
  exports.GenerateDataKeyWithoutPlaintextCommand = GenerateDataKeyWithoutPlaintextCommand;
1088
1115
  exports.GenerateMacCommand = GenerateMacCommand;
1089
1116
  exports.GenerateRandomCommand = GenerateRandomCommand;
1117
+ exports.GetKeyLastUsageCommand = GetKeyLastUsageCommand;
1090
1118
  exports.GetKeyPolicyCommand = GetKeyPolicyCommand;
1091
1119
  exports.GetKeyRotationStatusCommand = GetKeyRotationStatusCommand;
1092
1120
  exports.GetParametersForImportCommand = GetParametersForImportCommand;
@@ -1100,6 +1128,7 @@ exports.KMS = KMS;
1100
1128
  exports.KMSClient = KMSClient;
1101
1129
  exports.KeyAgreementAlgorithmSpec = KeyAgreementAlgorithmSpec;
1102
1130
  exports.KeyEncryptionMechanism = KeyEncryptionMechanism;
1131
+ exports.KeyLastUsageTrackingOperation = KeyLastUsageTrackingOperation;
1103
1132
  exports.KeyManagerType = KeyManagerType;
1104
1133
  exports.KeyMaterialState = KeyMaterialState;
1105
1134
  exports.KeySpec = KeySpec;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.errorTypeRegistries = exports.XksProxyVpcEndpointServiceNotFoundException$ = exports.XksProxyVpcEndpointServiceInvalidConfigurationException$ = exports.XksProxyVpcEndpointServiceInUseException$ = exports.XksProxyUriUnreachableException$ = exports.XksProxyUriInUseException$ = exports.XksProxyUriEndpointInUseException$ = exports.XksProxyInvalidResponseException$ = exports.XksProxyInvalidConfigurationException$ = exports.XksProxyIncorrectAuthenticationCredentialException$ = exports.XksKeyNotFoundException$ = exports.XksKeyInvalidConfigurationException$ = exports.XksKeyAlreadyInUseException$ = exports.UnsupportedOperationException$ = exports.TagException$ = exports.NotFoundException$ = exports.MalformedPolicyDocumentException$ = exports.LimitExceededException$ = exports.KMSInvalidStateException$ = exports.KMSInvalidSignatureException$ = exports.KMSInvalidMacException$ = exports.KMSInternalException$ = exports.KeyUnavailableException$ = exports.InvalidMarkerException$ = exports.InvalidKeyUsageException$ = exports.InvalidImportTokenException$ = exports.InvalidGrantTokenException$ = exports.InvalidGrantIdException$ = exports.InvalidCiphertextException$ = exports.InvalidArnException$ = exports.InvalidAliasNameException$ = exports.IncorrectTrustAnchorException$ = exports.IncorrectKeyMaterialException$ = exports.IncorrectKeyException$ = exports.ExpiredImportTokenException$ = exports.DryRunOperationException$ = exports.DisabledException$ = exports.DependencyTimeoutException$ = exports.CustomKeyStoreNotFoundException$ = exports.CustomKeyStoreNameInUseException$ = exports.CustomKeyStoreInvalidStateException$ = exports.CustomKeyStoreHasCMKsException$ = exports.ConflictException$ = exports.CloudHsmClusterNotRelatedException$ = exports.CloudHsmClusterNotFoundException$ = exports.CloudHsmClusterNotActiveException$ = exports.CloudHsmClusterInvalidConfigurationException$ = exports.CloudHsmClusterInUseException$ = exports.AlreadyExistsException$ = exports.KMSServiceException$ = void 0;
4
- exports.GetKeyRotationStatusResponse$ = exports.GetKeyRotationStatusRequest$ = exports.GetKeyPolicyResponse$ = exports.GetKeyPolicyRequest$ = exports.GenerateRandomResponse$ = exports.GenerateRandomRequest$ = exports.GenerateMacResponse$ = exports.GenerateMacRequest$ = exports.GenerateDataKeyWithoutPlaintextResponse$ = exports.GenerateDataKeyWithoutPlaintextRequest$ = exports.GenerateDataKeyResponse$ = exports.GenerateDataKeyRequest$ = exports.GenerateDataKeyPairWithoutPlaintextResponse$ = exports.GenerateDataKeyPairWithoutPlaintextRequest$ = exports.GenerateDataKeyPairResponse$ = exports.GenerateDataKeyPairRequest$ = exports.EncryptResponse$ = exports.EncryptRequest$ = exports.EnableKeyRotationRequest$ = exports.EnableKeyRequest$ = exports.DisconnectCustomKeyStoreResponse$ = exports.DisconnectCustomKeyStoreRequest$ = exports.DisableKeyRotationRequest$ = exports.DisableKeyRequest$ = exports.DescribeKeyResponse$ = exports.DescribeKeyRequest$ = exports.DescribeCustomKeyStoresResponse$ = exports.DescribeCustomKeyStoresRequest$ = exports.DeriveSharedSecretResponse$ = exports.DeriveSharedSecretRequest$ = exports.DeleteImportedKeyMaterialResponse$ = exports.DeleteImportedKeyMaterialRequest$ = exports.DeleteCustomKeyStoreResponse$ = exports.DeleteCustomKeyStoreRequest$ = exports.DeleteAliasRequest$ = exports.DecryptResponse$ = exports.DecryptRequest$ = exports.CustomKeyStoresListEntry$ = exports.CreateKeyResponse$ = exports.CreateKeyRequest$ = exports.CreateGrantResponse$ = exports.CreateGrantRequest$ = exports.CreateCustomKeyStoreResponse$ = exports.CreateCustomKeyStoreRequest$ = exports.CreateAliasRequest$ = exports.ConnectCustomKeyStoreResponse$ = exports.ConnectCustomKeyStoreRequest$ = exports.CancelKeyDeletionResponse$ = exports.CancelKeyDeletionRequest$ = exports.AliasListEntry$ = void 0;
5
- exports.VerifyMacResponse$ = exports.VerifyMacRequest$ = exports.UpdatePrimaryRegionRequest$ = exports.UpdateKeyDescriptionRequest$ = exports.UpdateCustomKeyStoreResponse$ = exports.UpdateCustomKeyStoreRequest$ = exports.UpdateAliasRequest$ = exports.UntagResourceRequest$ = exports.TagResourceRequest$ = exports.Tag$ = exports.SignResponse$ = exports.SignRequest$ = exports.ScheduleKeyDeletionResponse$ = exports.ScheduleKeyDeletionRequest$ = exports.RotationsListEntry$ = exports.RotateKeyOnDemandResponse$ = exports.RotateKeyOnDemandRequest$ = exports.RevokeGrantRequest$ = exports.RetireGrantRequest$ = exports.ReplicateKeyResponse$ = exports.ReplicateKeyRequest$ = exports.ReEncryptResponse$ = exports.ReEncryptRequest$ = exports.RecipientInfo$ = exports.PutKeyPolicyRequest$ = exports.MultiRegionKey$ = exports.MultiRegionConfiguration$ = exports.ListRetirableGrantsRequest$ = exports.ListResourceTagsResponse$ = exports.ListResourceTagsRequest$ = exports.ListKeysResponse$ = exports.ListKeysRequest$ = exports.ListKeyRotationsResponse$ = exports.ListKeyRotationsRequest$ = exports.ListKeyPoliciesResponse$ = exports.ListKeyPoliciesRequest$ = exports.ListGrantsResponse$ = exports.ListGrantsRequest$ = exports.ListAliasesResponse$ = exports.ListAliasesRequest$ = exports.KeyMetadata$ = exports.KeyListEntry$ = exports.ImportKeyMaterialResponse$ = exports.ImportKeyMaterialRequest$ = exports.GrantListEntry$ = exports.GrantConstraints$ = exports.GetPublicKeyResponse$ = exports.GetPublicKeyRequest$ = exports.GetParametersForImportResponse$ = exports.GetParametersForImportRequest$ = void 0;
6
- exports.Sign$ = exports.ScheduleKeyDeletion$ = exports.RotateKeyOnDemand$ = exports.RevokeGrant$ = exports.RetireGrant$ = exports.ReplicateKey$ = exports.ReEncrypt$ = exports.PutKeyPolicy$ = exports.ListRetirableGrants$ = exports.ListResourceTags$ = exports.ListKeys$ = exports.ListKeyRotations$ = exports.ListKeyPolicies$ = exports.ListGrants$ = exports.ListAliases$ = exports.ImportKeyMaterial$ = exports.GetPublicKey$ = exports.GetParametersForImport$ = exports.GetKeyRotationStatus$ = exports.GetKeyPolicy$ = exports.GenerateRandom$ = exports.GenerateMac$ = exports.GenerateDataKeyWithoutPlaintext$ = exports.GenerateDataKeyPairWithoutPlaintext$ = exports.GenerateDataKeyPair$ = exports.GenerateDataKey$ = exports.Encrypt$ = exports.EnableKeyRotation$ = exports.EnableKey$ = exports.DisconnectCustomKeyStore$ = exports.DisableKeyRotation$ = exports.DisableKey$ = exports.DescribeKey$ = exports.DescribeCustomKeyStores$ = exports.DeriveSharedSecret$ = exports.DeleteImportedKeyMaterial$ = exports.DeleteCustomKeyStore$ = exports.DeleteAlias$ = exports.Decrypt$ = exports.CreateKey$ = exports.CreateGrant$ = exports.CreateCustomKeyStore$ = exports.CreateAlias$ = exports.ConnectCustomKeyStore$ = exports.CancelKeyDeletion$ = exports.XksProxyConfigurationType$ = exports.XksProxyAuthenticationCredentialType$ = exports.XksKeyConfigurationType$ = exports.VerifyResponse$ = exports.VerifyRequest$ = void 0;
7
- exports.VerifyMac$ = exports.Verify$ = exports.UpdatePrimaryRegion$ = exports.UpdateKeyDescription$ = exports.UpdateCustomKeyStore$ = exports.UpdateAlias$ = exports.UntagResource$ = exports.TagResource$ = void 0;
4
+ exports.GetKeyPolicyResponse$ = exports.GetKeyPolicyRequest$ = exports.GetKeyLastUsageResponse$ = exports.GetKeyLastUsageRequest$ = exports.GenerateRandomResponse$ = exports.GenerateRandomRequest$ = exports.GenerateMacResponse$ = exports.GenerateMacRequest$ = exports.GenerateDataKeyWithoutPlaintextResponse$ = exports.GenerateDataKeyWithoutPlaintextRequest$ = exports.GenerateDataKeyResponse$ = exports.GenerateDataKeyRequest$ = exports.GenerateDataKeyPairWithoutPlaintextResponse$ = exports.GenerateDataKeyPairWithoutPlaintextRequest$ = exports.GenerateDataKeyPairResponse$ = exports.GenerateDataKeyPairRequest$ = exports.EncryptResponse$ = exports.EncryptRequest$ = exports.EnableKeyRotationRequest$ = exports.EnableKeyRequest$ = exports.DisconnectCustomKeyStoreResponse$ = exports.DisconnectCustomKeyStoreRequest$ = exports.DisableKeyRotationRequest$ = exports.DisableKeyRequest$ = exports.DescribeKeyResponse$ = exports.DescribeKeyRequest$ = exports.DescribeCustomKeyStoresResponse$ = exports.DescribeCustomKeyStoresRequest$ = exports.DeriveSharedSecretResponse$ = exports.DeriveSharedSecretRequest$ = exports.DeleteImportedKeyMaterialResponse$ = exports.DeleteImportedKeyMaterialRequest$ = exports.DeleteCustomKeyStoreResponse$ = exports.DeleteCustomKeyStoreRequest$ = exports.DeleteAliasRequest$ = exports.DecryptResponse$ = exports.DecryptRequest$ = exports.CustomKeyStoresListEntry$ = exports.CreateKeyResponse$ = exports.CreateKeyRequest$ = exports.CreateGrantResponse$ = exports.CreateGrantRequest$ = exports.CreateCustomKeyStoreResponse$ = exports.CreateCustomKeyStoreRequest$ = exports.CreateAliasRequest$ = exports.ConnectCustomKeyStoreResponse$ = exports.ConnectCustomKeyStoreRequest$ = exports.CancelKeyDeletionResponse$ = exports.CancelKeyDeletionRequest$ = exports.AliasListEntry$ = void 0;
5
+ exports.UpdateKeyDescriptionRequest$ = exports.UpdateCustomKeyStoreResponse$ = exports.UpdateCustomKeyStoreRequest$ = exports.UpdateAliasRequest$ = exports.UntagResourceRequest$ = exports.TagResourceRequest$ = exports.Tag$ = exports.SignResponse$ = exports.SignRequest$ = exports.ScheduleKeyDeletionResponse$ = exports.ScheduleKeyDeletionRequest$ = exports.RotationsListEntry$ = exports.RotateKeyOnDemandResponse$ = exports.RotateKeyOnDemandRequest$ = exports.RevokeGrantRequest$ = exports.RetireGrantRequest$ = exports.ReplicateKeyResponse$ = exports.ReplicateKeyRequest$ = exports.ReEncryptResponse$ = exports.ReEncryptRequest$ = exports.RecipientInfo$ = exports.PutKeyPolicyRequest$ = exports.MultiRegionKey$ = exports.MultiRegionConfiguration$ = exports.ListRetirableGrantsRequest$ = exports.ListResourceTagsResponse$ = exports.ListResourceTagsRequest$ = exports.ListKeysResponse$ = exports.ListKeysRequest$ = exports.ListKeyRotationsResponse$ = exports.ListKeyRotationsRequest$ = exports.ListKeyPoliciesResponse$ = exports.ListKeyPoliciesRequest$ = exports.ListGrantsResponse$ = exports.ListGrantsRequest$ = exports.ListAliasesResponse$ = exports.ListAliasesRequest$ = exports.KeyMetadata$ = exports.KeyListEntry$ = exports.KeyLastUsageData$ = exports.ImportKeyMaterialResponse$ = exports.ImportKeyMaterialRequest$ = exports.GrantListEntry$ = exports.GrantConstraints$ = exports.GetPublicKeyResponse$ = exports.GetPublicKeyRequest$ = exports.GetParametersForImportResponse$ = exports.GetParametersForImportRequest$ = exports.GetKeyRotationStatusResponse$ = exports.GetKeyRotationStatusRequest$ = void 0;
6
+ exports.RetireGrant$ = exports.ReplicateKey$ = exports.ReEncrypt$ = exports.PutKeyPolicy$ = exports.ListRetirableGrants$ = exports.ListResourceTags$ = exports.ListKeys$ = exports.ListKeyRotations$ = exports.ListKeyPolicies$ = exports.ListGrants$ = exports.ListAliases$ = exports.ImportKeyMaterial$ = exports.GetPublicKey$ = exports.GetParametersForImport$ = exports.GetKeyRotationStatus$ = exports.GetKeyPolicy$ = exports.GetKeyLastUsage$ = exports.GenerateRandom$ = exports.GenerateMac$ = exports.GenerateDataKeyWithoutPlaintext$ = exports.GenerateDataKeyPairWithoutPlaintext$ = exports.GenerateDataKeyPair$ = exports.GenerateDataKey$ = exports.Encrypt$ = exports.EnableKeyRotation$ = exports.EnableKey$ = exports.DisconnectCustomKeyStore$ = exports.DisableKeyRotation$ = exports.DisableKey$ = exports.DescribeKey$ = exports.DescribeCustomKeyStores$ = exports.DeriveSharedSecret$ = exports.DeleteImportedKeyMaterial$ = exports.DeleteCustomKeyStore$ = exports.DeleteAlias$ = exports.Decrypt$ = exports.CreateKey$ = exports.CreateGrant$ = exports.CreateCustomKeyStore$ = exports.CreateAlias$ = exports.ConnectCustomKeyStore$ = exports.CancelKeyDeletion$ = exports.XksProxyConfigurationType$ = exports.XksProxyAuthenticationCredentialType$ = exports.XksKeyConfigurationType$ = exports.VerifyResponse$ = exports.VerifyRequest$ = exports.VerifyMacResponse$ = exports.VerifyMacRequest$ = exports.UpdatePrimaryRegionRequest$ = void 0;
7
+ exports.VerifyMac$ = exports.Verify$ = exports.UpdatePrimaryRegion$ = exports.UpdateKeyDescription$ = exports.UpdateCustomKeyStore$ = exports.UpdateAlias$ = exports.UntagResource$ = exports.TagResource$ = exports.Sign$ = exports.ScheduleKeyDeletion$ = exports.RotateKeyOnDemand$ = exports.RevokeGrant$ = void 0;
8
8
  const _A = "Arn";
9
9
  const _AA = "AliasArn";
10
10
  const _AD = "AttestationDocument";
@@ -58,6 +58,7 @@ const _CKSNIUE = "CustomKeyStoreNameInUseException";
58
58
  const _CKST = "CustomKeyStoreType";
59
59
  const _CMKS = "CustomerMasterKeySpec";
60
60
  const _CS = "ConnectionState";
61
+ const _CTEI = "CloudTrailEventId";
61
62
  const _Co = "Connectivity";
62
63
  const _D = "Description";
63
64
  const _DA = "DeleteAlias";
@@ -128,6 +129,9 @@ const _GDKWP = "GenerateDataKeyWithoutPlaintext";
128
129
  const _GDKWPR = "GenerateDataKeyWithoutPlaintextRequest";
129
130
  const _GDKWPRe = "GenerateDataKeyWithoutPlaintextResponse";
130
131
  const _GI = "GrantId";
132
+ const _GKLU = "GetKeyLastUsage";
133
+ const _GKLUR = "GetKeyLastUsageRequest";
134
+ const _GKLURe = "GetKeyLastUsageResponse";
131
135
  const _GKP = "GetKeyPolicy";
132
136
  const _GKPR = "GetKeyPolicyRequest";
133
137
  const _GKPRe = "GetKeyPolicyResponse";
@@ -175,10 +179,13 @@ const _K = "Keys";
175
179
  const _KA = "KeyArn";
176
180
  const _KAA = "KeyAgreementAlgorithm";
177
181
  const _KAAe = "KeyAgreementAlgorithms";
182
+ const _KCD = "KeyCreationDate";
178
183
  const _KEA = "KeyEncryptionAlgorithm";
179
184
  const _KI = "KeyId";
180
185
  const _KL = "KeyList";
181
186
  const _KLE = "KeyListEntry";
187
+ const _KLU = "KeyLastUsage";
188
+ const _KLUD = "KeyLastUsageData";
182
189
  const _KM = "KeyMetadata";
183
190
  const _KMD = "KeyMaterialDescription";
184
191
  const _KMI = "KeyMaterialId";
@@ -191,6 +198,7 @@ const _KMe = "KeyManager";
191
198
  const _KO = "KeyOrigin";
192
199
  const _KPS = "KeyPairSpec";
193
200
  const _KRE = "KeyRotationEnabled";
201
+ const _KRI = "KmsRequestId";
194
202
  const _KS = "KeySpec";
195
203
  const _KSP = "KeyStorePassword";
196
204
  const _KSPT = "KeyStorePasswordType";
@@ -241,6 +249,7 @@ const _NOB = "NumberOfBytes";
241
249
  const _NRD = "NextRotationDate";
242
250
  const _O = "Operations";
243
251
  const _ODRSD = "OnDemandRotationStartDate";
252
+ const _Op = "Operation";
244
253
  const _Or = "Origin";
245
254
  const _P = "Policy";
246
255
  const _PDWID = "PendingDeletionWindowInDays";
@@ -310,8 +319,10 @@ const _TKa = "TagKeys";
310
319
  const _TL = "TagList";
311
320
  const _TR = "TagResource";
312
321
  const _TRR = "TagResourceRequest";
322
+ const _TSD = "TrackingStartDate";
313
323
  const _TV = "TagValue";
314
324
  const _Ta = "Tag";
325
+ const _Ti = "Timestamp";
315
326
  const _Tr = "Truncated";
316
327
  const _UA = "UpdateAlias";
317
328
  const _UAR = "UpdateAliasRequest";
@@ -905,6 +916,16 @@ exports.GenerateRandomResponse$ = [3, n0, _GRRe,
905
916
  [_Pl, _CFR],
906
917
  [[() => PlaintextType, 0], 21]
907
918
  ];
919
+ exports.GetKeyLastUsageRequest$ = [3, n0, _GKLUR,
920
+ 0,
921
+ [_KI],
922
+ [0], 1
923
+ ];
924
+ exports.GetKeyLastUsageResponse$ = [3, n0, _GKLURe,
925
+ 0,
926
+ [_KI, _KLU, _TSD, _KCD],
927
+ [0, () => exports.KeyLastUsageData$, 4, 4]
928
+ ];
908
929
  exports.GetKeyPolicyRequest$ = [3, n0, _GKPR,
909
930
  0,
910
931
  [_KI, _PN],
@@ -965,6 +986,11 @@ exports.ImportKeyMaterialResponse$ = [3, n0, _IKMRm,
965
986
  [_KI, _KMI],
966
987
  [0, 0]
967
988
  ];
989
+ exports.KeyLastUsageData$ = [3, n0, _KLUD,
990
+ 0,
991
+ [_Op, _Ti, _CTEI, _KRI],
992
+ [0, 4, 0, 0]
993
+ ];
968
994
  exports.KeyListEntry$ = [3, n0, _KLE,
969
995
  0,
970
996
  [_KI, _KA],
@@ -1308,6 +1334,9 @@ exports.GenerateMac$ = [9, n0, _GM,
1308
1334
  exports.GenerateRandom$ = [9, n0, _GR,
1309
1335
  0, () => exports.GenerateRandomRequest$, () => exports.GenerateRandomResponse$
1310
1336
  ];
1337
+ exports.GetKeyLastUsage$ = [9, n0, _GKLU,
1338
+ 0, () => exports.GetKeyLastUsageRequest$, () => exports.GetKeyLastUsageResponse$
1339
+ ];
1311
1340
  exports.GetKeyPolicy$ = [9, n0, _GKP,
1312
1341
  0, () => exports.GetKeyPolicyRequest$, () => exports.GetKeyPolicyResponse$
1313
1342
  ];
package/dist-es/KMS.js CHANGED
@@ -24,6 +24,7 @@ import { GenerateDataKeyPairWithoutPlaintextCommand, } from "./commands/Generate
24
24
  import { GenerateDataKeyWithoutPlaintextCommand, } from "./commands/GenerateDataKeyWithoutPlaintextCommand";
25
25
  import { GenerateMacCommand, } from "./commands/GenerateMacCommand";
26
26
  import { GenerateRandomCommand, } from "./commands/GenerateRandomCommand";
27
+ import { GetKeyLastUsageCommand, } from "./commands/GetKeyLastUsageCommand";
27
28
  import { GetKeyPolicyCommand, } from "./commands/GetKeyPolicyCommand";
28
29
  import { GetKeyRotationStatusCommand, } from "./commands/GetKeyRotationStatusCommand";
29
30
  import { GetParametersForImportCommand, } from "./commands/GetParametersForImportCommand";
@@ -87,6 +88,7 @@ const commands = {
87
88
  GenerateDataKeyWithoutPlaintextCommand,
88
89
  GenerateMacCommand,
89
90
  GenerateRandomCommand,
91
+ GetKeyLastUsageCommand,
90
92
  GetKeyPolicyCommand,
91
93
  GetKeyRotationStatusCommand,
92
94
  GetParametersForImportCommand,
@@ -0,0 +1,16 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { commonParams } from "../endpoint/EndpointParameters";
4
+ import { GetKeyLastUsage$ } from "../schemas/schemas_0";
5
+ export { $Command };
6
+ export class GetKeyLastUsageCommand extends $Command
7
+ .classBuilder()
8
+ .ep(commonParams)
9
+ .m(function (Command, cs, config, o) {
10
+ return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
11
+ })
12
+ .s("TrentService", "GetKeyLastUsage", {})
13
+ .n("KMSClient", "GetKeyLastUsageCommand")
14
+ .sc(GetKeyLastUsage$)
15
+ .build() {
16
+ }
@@ -23,6 +23,7 @@ export * from "./GenerateDataKeyPairWithoutPlaintextCommand";
23
23
  export * from "./GenerateDataKeyWithoutPlaintextCommand";
24
24
  export * from "./GenerateMacCommand";
25
25
  export * from "./GenerateRandomCommand";
26
+ export * from "./GetKeyLastUsageCommand";
26
27
  export * from "./GetKeyPolicyCommand";
27
28
  export * from "./GetKeyRotationStatusCommand";
28
29
  export * from "./GetParametersForImportCommand";
@@ -179,6 +179,20 @@ export const DryRunModifierType = {
179
179
  export const KeyEncryptionMechanism = {
180
180
  RSAES_OAEP_SHA_256: "RSAES_OAEP_SHA_256",
181
181
  };
182
+ export const KeyLastUsageTrackingOperation = {
183
+ Decrypt: "Decrypt",
184
+ DeriveSharedSecret: "DeriveSharedSecret",
185
+ Encrypt: "Encrypt",
186
+ GenerateDataKey: "GenerateDataKey",
187
+ GenerateDataKeyPair: "GenerateDataKeyPair",
188
+ GenerateDataKeyPairWithoutPlaintext: "GenerateDataKeyPairWithoutPlaintext",
189
+ GenerateDataKeyWithoutPlaintext: "GenerateDataKeyWithoutPlaintext",
190
+ GenerateMac: "GenerateMac",
191
+ ReEncrypt: "ReEncrypt",
192
+ Sign: "Sign",
193
+ Verify: "Verify",
194
+ VerifyMac: "VerifyMac",
195
+ };
182
196
  export const WrappingKeySpec = {
183
197
  RSA_2048: "RSA_2048",
184
198
  RSA_3072: "RSA_3072",
@@ -51,6 +51,7 @@ const _CKSNIUE = "CustomKeyStoreNameInUseException";
51
51
  const _CKST = "CustomKeyStoreType";
52
52
  const _CMKS = "CustomerMasterKeySpec";
53
53
  const _CS = "ConnectionState";
54
+ const _CTEI = "CloudTrailEventId";
54
55
  const _Co = "Connectivity";
55
56
  const _D = "Description";
56
57
  const _DA = "DeleteAlias";
@@ -121,6 +122,9 @@ const _GDKWP = "GenerateDataKeyWithoutPlaintext";
121
122
  const _GDKWPR = "GenerateDataKeyWithoutPlaintextRequest";
122
123
  const _GDKWPRe = "GenerateDataKeyWithoutPlaintextResponse";
123
124
  const _GI = "GrantId";
125
+ const _GKLU = "GetKeyLastUsage";
126
+ const _GKLUR = "GetKeyLastUsageRequest";
127
+ const _GKLURe = "GetKeyLastUsageResponse";
124
128
  const _GKP = "GetKeyPolicy";
125
129
  const _GKPR = "GetKeyPolicyRequest";
126
130
  const _GKPRe = "GetKeyPolicyResponse";
@@ -168,10 +172,13 @@ const _K = "Keys";
168
172
  const _KA = "KeyArn";
169
173
  const _KAA = "KeyAgreementAlgorithm";
170
174
  const _KAAe = "KeyAgreementAlgorithms";
175
+ const _KCD = "KeyCreationDate";
171
176
  const _KEA = "KeyEncryptionAlgorithm";
172
177
  const _KI = "KeyId";
173
178
  const _KL = "KeyList";
174
179
  const _KLE = "KeyListEntry";
180
+ const _KLU = "KeyLastUsage";
181
+ const _KLUD = "KeyLastUsageData";
175
182
  const _KM = "KeyMetadata";
176
183
  const _KMD = "KeyMaterialDescription";
177
184
  const _KMI = "KeyMaterialId";
@@ -184,6 +191,7 @@ const _KMe = "KeyManager";
184
191
  const _KO = "KeyOrigin";
185
192
  const _KPS = "KeyPairSpec";
186
193
  const _KRE = "KeyRotationEnabled";
194
+ const _KRI = "KmsRequestId";
187
195
  const _KS = "KeySpec";
188
196
  const _KSP = "KeyStorePassword";
189
197
  const _KSPT = "KeyStorePasswordType";
@@ -234,6 +242,7 @@ const _NOB = "NumberOfBytes";
234
242
  const _NRD = "NextRotationDate";
235
243
  const _O = "Operations";
236
244
  const _ODRSD = "OnDemandRotationStartDate";
245
+ const _Op = "Operation";
237
246
  const _Or = "Origin";
238
247
  const _P = "Policy";
239
248
  const _PDWID = "PendingDeletionWindowInDays";
@@ -303,8 +312,10 @@ const _TKa = "TagKeys";
303
312
  const _TL = "TagList";
304
313
  const _TR = "TagResource";
305
314
  const _TRR = "TagResourceRequest";
315
+ const _TSD = "TrackingStartDate";
306
316
  const _TV = "TagValue";
307
317
  const _Ta = "Tag";
318
+ const _Ti = "Timestamp";
308
319
  const _Tr = "Truncated";
309
320
  const _UA = "UpdateAlias";
310
321
  const _UAR = "UpdateAliasRequest";
@@ -898,6 +909,16 @@ export var GenerateRandomResponse$ = [3, n0, _GRRe,
898
909
  [_Pl, _CFR],
899
910
  [[() => PlaintextType, 0], 21]
900
911
  ];
912
+ export var GetKeyLastUsageRequest$ = [3, n0, _GKLUR,
913
+ 0,
914
+ [_KI],
915
+ [0], 1
916
+ ];
917
+ export var GetKeyLastUsageResponse$ = [3, n0, _GKLURe,
918
+ 0,
919
+ [_KI, _KLU, _TSD, _KCD],
920
+ [0, () => KeyLastUsageData$, 4, 4]
921
+ ];
901
922
  export var GetKeyPolicyRequest$ = [3, n0, _GKPR,
902
923
  0,
903
924
  [_KI, _PN],
@@ -958,6 +979,11 @@ export var ImportKeyMaterialResponse$ = [3, n0, _IKMRm,
958
979
  [_KI, _KMI],
959
980
  [0, 0]
960
981
  ];
982
+ export var KeyLastUsageData$ = [3, n0, _KLUD,
983
+ 0,
984
+ [_Op, _Ti, _CTEI, _KRI],
985
+ [0, 4, 0, 0]
986
+ ];
961
987
  export var KeyListEntry$ = [3, n0, _KLE,
962
988
  0,
963
989
  [_KI, _KA],
@@ -1301,6 +1327,9 @@ export var GenerateMac$ = [9, n0, _GM,
1301
1327
  export var GenerateRandom$ = [9, n0, _GR,
1302
1328
  0, () => GenerateRandomRequest$, () => GenerateRandomResponse$
1303
1329
  ];
1330
+ export var GetKeyLastUsage$ = [9, n0, _GKLU,
1331
+ 0, () => GetKeyLastUsageRequest$, () => GetKeyLastUsageResponse$
1332
+ ];
1304
1333
  export var GetKeyPolicy$ = [9, n0, _GKP,
1305
1334
  0, () => GetKeyPolicyRequest$, () => GetKeyPolicyResponse$
1306
1335
  ];
@@ -24,6 +24,7 @@ import { type GenerateDataKeyPairWithoutPlaintextCommandInput, type GenerateData
24
24
  import { type GenerateDataKeyWithoutPlaintextCommandInput, type GenerateDataKeyWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyWithoutPlaintextCommand";
25
25
  import { type GenerateMacCommandInput, type GenerateMacCommandOutput } from "./commands/GenerateMacCommand";
26
26
  import { type GenerateRandomCommandInput, type GenerateRandomCommandOutput } from "./commands/GenerateRandomCommand";
27
+ import { type GetKeyLastUsageCommandInput, type GetKeyLastUsageCommandOutput } from "./commands/GetKeyLastUsageCommand";
27
28
  import { type GetKeyPolicyCommandInput, type GetKeyPolicyCommandOutput } from "./commands/GetKeyPolicyCommand";
28
29
  import { type GetKeyRotationStatusCommandInput, type GetKeyRotationStatusCommandOutput } from "./commands/GetKeyRotationStatusCommand";
29
30
  import { type GetParametersForImportCommandInput, type GetParametersForImportCommandOutput } from "./commands/GetParametersForImportCommand";
@@ -208,6 +209,12 @@ export interface KMS {
208
209
  generateRandom(args: GenerateRandomCommandInput, options?: __HttpHandlerOptions): Promise<GenerateRandomCommandOutput>;
209
210
  generateRandom(args: GenerateRandomCommandInput, cb: (err: any, data?: GenerateRandomCommandOutput) => void): void;
210
211
  generateRandom(args: GenerateRandomCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateRandomCommandOutput) => void): void;
212
+ /**
213
+ * @see {@link GetKeyLastUsageCommand}
214
+ */
215
+ getKeyLastUsage(args: GetKeyLastUsageCommandInput, options?: __HttpHandlerOptions): Promise<GetKeyLastUsageCommandOutput>;
216
+ getKeyLastUsage(args: GetKeyLastUsageCommandInput, cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void): void;
217
+ getKeyLastUsage(args: GetKeyLastUsageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void): void;
211
218
  /**
212
219
  * @see {@link GetKeyPolicyCommand}
213
220
  */
@@ -32,6 +32,7 @@ import type { GenerateDataKeyPairWithoutPlaintextCommandInput, GenerateDataKeyPa
32
32
  import type { GenerateDataKeyWithoutPlaintextCommandInput, GenerateDataKeyWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyWithoutPlaintextCommand";
33
33
  import type { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/GenerateMacCommand";
34
34
  import type { GenerateRandomCommandInput, GenerateRandomCommandOutput } from "./commands/GenerateRandomCommand";
35
+ import type { GetKeyLastUsageCommandInput, GetKeyLastUsageCommandOutput } from "./commands/GetKeyLastUsageCommand";
35
36
  import type { GetKeyPolicyCommandInput, GetKeyPolicyCommandOutput } from "./commands/GetKeyPolicyCommand";
36
37
  import type { GetKeyRotationStatusCommandInput, GetKeyRotationStatusCommandOutput } from "./commands/GetKeyRotationStatusCommand";
37
38
  import type { GetParametersForImportCommandInput, GetParametersForImportCommandOutput } from "./commands/GetParametersForImportCommand";
@@ -66,11 +67,11 @@ export { __Client };
66
67
  /**
67
68
  * @public
68
69
  */
69
- export type ServiceInputTypes = CancelKeyDeletionCommandInput | ConnectCustomKeyStoreCommandInput | CreateAliasCommandInput | CreateCustomKeyStoreCommandInput | CreateGrantCommandInput | CreateKeyCommandInput | DecryptCommandInput | DeleteAliasCommandInput | DeleteCustomKeyStoreCommandInput | DeleteImportedKeyMaterialCommandInput | DeriveSharedSecretCommandInput | DescribeCustomKeyStoresCommandInput | DescribeKeyCommandInput | DisableKeyCommandInput | DisableKeyRotationCommandInput | DisconnectCustomKeyStoreCommandInput | EnableKeyCommandInput | EnableKeyRotationCommandInput | EncryptCommandInput | GenerateDataKeyCommandInput | GenerateDataKeyPairCommandInput | GenerateDataKeyPairWithoutPlaintextCommandInput | GenerateDataKeyWithoutPlaintextCommandInput | GenerateMacCommandInput | GenerateRandomCommandInput | GetKeyPolicyCommandInput | GetKeyRotationStatusCommandInput | GetParametersForImportCommandInput | GetPublicKeyCommandInput | ImportKeyMaterialCommandInput | ListAliasesCommandInput | ListGrantsCommandInput | ListKeyPoliciesCommandInput | ListKeyRotationsCommandInput | ListKeysCommandInput | ListResourceTagsCommandInput | ListRetirableGrantsCommandInput | PutKeyPolicyCommandInput | ReEncryptCommandInput | ReplicateKeyCommandInput | RetireGrantCommandInput | RevokeGrantCommandInput | RotateKeyOnDemandCommandInput | ScheduleKeyDeletionCommandInput | SignCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAliasCommandInput | UpdateCustomKeyStoreCommandInput | UpdateKeyDescriptionCommandInput | UpdatePrimaryRegionCommandInput | VerifyCommandInput | VerifyMacCommandInput;
70
+ export type ServiceInputTypes = CancelKeyDeletionCommandInput | ConnectCustomKeyStoreCommandInput | CreateAliasCommandInput | CreateCustomKeyStoreCommandInput | CreateGrantCommandInput | CreateKeyCommandInput | DecryptCommandInput | DeleteAliasCommandInput | DeleteCustomKeyStoreCommandInput | DeleteImportedKeyMaterialCommandInput | DeriveSharedSecretCommandInput | DescribeCustomKeyStoresCommandInput | DescribeKeyCommandInput | DisableKeyCommandInput | DisableKeyRotationCommandInput | DisconnectCustomKeyStoreCommandInput | EnableKeyCommandInput | EnableKeyRotationCommandInput | EncryptCommandInput | GenerateDataKeyCommandInput | GenerateDataKeyPairCommandInput | GenerateDataKeyPairWithoutPlaintextCommandInput | GenerateDataKeyWithoutPlaintextCommandInput | GenerateMacCommandInput | GenerateRandomCommandInput | GetKeyLastUsageCommandInput | GetKeyPolicyCommandInput | GetKeyRotationStatusCommandInput | GetParametersForImportCommandInput | GetPublicKeyCommandInput | ImportKeyMaterialCommandInput | ListAliasesCommandInput | ListGrantsCommandInput | ListKeyPoliciesCommandInput | ListKeyRotationsCommandInput | ListKeysCommandInput | ListResourceTagsCommandInput | ListRetirableGrantsCommandInput | PutKeyPolicyCommandInput | ReEncryptCommandInput | ReplicateKeyCommandInput | RetireGrantCommandInput | RevokeGrantCommandInput | RotateKeyOnDemandCommandInput | ScheduleKeyDeletionCommandInput | SignCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAliasCommandInput | UpdateCustomKeyStoreCommandInput | UpdateKeyDescriptionCommandInput | UpdatePrimaryRegionCommandInput | VerifyCommandInput | VerifyMacCommandInput;
70
71
  /**
71
72
  * @public
72
73
  */
73
- export type ServiceOutputTypes = CancelKeyDeletionCommandOutput | ConnectCustomKeyStoreCommandOutput | CreateAliasCommandOutput | CreateCustomKeyStoreCommandOutput | CreateGrantCommandOutput | CreateKeyCommandOutput | DecryptCommandOutput | DeleteAliasCommandOutput | DeleteCustomKeyStoreCommandOutput | DeleteImportedKeyMaterialCommandOutput | DeriveSharedSecretCommandOutput | DescribeCustomKeyStoresCommandOutput | DescribeKeyCommandOutput | DisableKeyCommandOutput | DisableKeyRotationCommandOutput | DisconnectCustomKeyStoreCommandOutput | EnableKeyCommandOutput | EnableKeyRotationCommandOutput | EncryptCommandOutput | GenerateDataKeyCommandOutput | GenerateDataKeyPairCommandOutput | GenerateDataKeyPairWithoutPlaintextCommandOutput | GenerateDataKeyWithoutPlaintextCommandOutput | GenerateMacCommandOutput | GenerateRandomCommandOutput | GetKeyPolicyCommandOutput | GetKeyRotationStatusCommandOutput | GetParametersForImportCommandOutput | GetPublicKeyCommandOutput | ImportKeyMaterialCommandOutput | ListAliasesCommandOutput | ListGrantsCommandOutput | ListKeyPoliciesCommandOutput | ListKeyRotationsCommandOutput | ListKeysCommandOutput | ListResourceTagsCommandOutput | ListRetirableGrantsCommandOutput | PutKeyPolicyCommandOutput | ReEncryptCommandOutput | ReplicateKeyCommandOutput | RetireGrantCommandOutput | RevokeGrantCommandOutput | RotateKeyOnDemandCommandOutput | ScheduleKeyDeletionCommandOutput | SignCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAliasCommandOutput | UpdateCustomKeyStoreCommandOutput | UpdateKeyDescriptionCommandOutput | UpdatePrimaryRegionCommandOutput | VerifyCommandOutput | VerifyMacCommandOutput;
74
+ export type ServiceOutputTypes = CancelKeyDeletionCommandOutput | ConnectCustomKeyStoreCommandOutput | CreateAliasCommandOutput | CreateCustomKeyStoreCommandOutput | CreateGrantCommandOutput | CreateKeyCommandOutput | DecryptCommandOutput | DeleteAliasCommandOutput | DeleteCustomKeyStoreCommandOutput | DeleteImportedKeyMaterialCommandOutput | DeriveSharedSecretCommandOutput | DescribeCustomKeyStoresCommandOutput | DescribeKeyCommandOutput | DisableKeyCommandOutput | DisableKeyRotationCommandOutput | DisconnectCustomKeyStoreCommandOutput | EnableKeyCommandOutput | EnableKeyRotationCommandOutput | EncryptCommandOutput | GenerateDataKeyCommandOutput | GenerateDataKeyPairCommandOutput | GenerateDataKeyPairWithoutPlaintextCommandOutput | GenerateDataKeyWithoutPlaintextCommandOutput | GenerateMacCommandOutput | GenerateRandomCommandOutput | GetKeyLastUsageCommandOutput | GetKeyPolicyCommandOutput | GetKeyRotationStatusCommandOutput | GetParametersForImportCommandOutput | GetPublicKeyCommandOutput | ImportKeyMaterialCommandOutput | ListAliasesCommandOutput | ListGrantsCommandOutput | ListKeyPoliciesCommandOutput | ListKeyRotationsCommandOutput | ListKeysCommandOutput | ListResourceTagsCommandOutput | ListRetirableGrantsCommandOutput | PutKeyPolicyCommandOutput | ReEncryptCommandOutput | ReplicateKeyCommandOutput | RetireGrantCommandOutput | RevokeGrantCommandOutput | RotateKeyOnDemandCommandOutput | ScheduleKeyDeletionCommandOutput | SignCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAliasCommandOutput | UpdateCustomKeyStoreCommandOutput | UpdateKeyDescriptionCommandOutput | UpdatePrimaryRegionCommandOutput | VerifyCommandOutput | VerifyMacCommandOutput;
74
75
  /**
75
76
  * @public
76
77
  */
@@ -206,8 +206,10 @@ declare const ConnectCustomKeyStoreCommand_base: {
206
206
  * </li>
207
207
  * <li>
208
208
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
209
- * disconnected. This operation is valid only when the custom key store
210
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
209
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
210
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
211
+ * For all other properties, the custom key store
212
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
211
213
  * </li>
212
214
  * <li>
213
215
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -347,8 +347,10 @@ declare const CreateKeyCommand_base: {
347
347
  * </li>
348
348
  * <li>
349
349
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
350
- * disconnected. This operation is valid only when the custom key store
351
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
350
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
351
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
352
+ * For all other properties, the custom key store
353
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
352
354
  * </li>
353
355
  * <li>
354
356
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -91,9 +91,11 @@ declare const DecryptCommand_base: {
91
91
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
92
92
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
93
93
  * <p>
94
- * <b>Cross-account use</b>: Yes. If you use the <code>KeyId</code>
95
- * parameter to identify a KMS key in a different Amazon Web Services account, specify the key ARN or the alias
96
- * ARN of the KMS key.</p>
94
+ * <b>Cross-account use</b>: Yes. To specify a KMS key
95
+ * in a different Amazon Web Services account, use the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN">key ARN</a> or <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-alias-ARN">alias
96
+ * ARN</a>. A short <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id">key ID</a> is also acceptable
97
+ * when decrypting symmetric ciphertexts, though using a full key ARN is recommended
98
+ * to be more explicit about the intended KMS key.</p>
97
99
  * <p>
98
100
  * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:Decrypt</a> (key policy)</p>
99
101
  * <p>
@@ -144,8 +144,10 @@ declare const DeleteCustomKeyStoreCommand_base: {
144
144
  * </li>
145
145
  * <li>
146
146
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
147
- * disconnected. This operation is valid only when the custom key store
148
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
147
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
148
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
149
+ * For all other properties, the custom key store
150
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
149
151
  * </li>
150
152
  * <li>
151
153
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -131,8 +131,10 @@ declare const DisconnectCustomKeyStoreCommand_base: {
131
131
  * </li>
132
132
  * <li>
133
133
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
134
- * disconnected. This operation is valid only when the custom key store
135
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
134
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
135
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
136
+ * For all other properties, the custom key store
137
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
136
138
  * </li>
137
139
  * <li>
138
140
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -107,8 +107,10 @@ declare const GenerateRandomCommand_base: {
107
107
  * </li>
108
108
  * <li>
109
109
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
110
- * disconnected. This operation is valid only when the custom key store
111
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
110
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
111
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
112
+ * For all other properties, the custom key store
113
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
112
114
  * </li>
113
115
  * <li>
114
116
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -0,0 +1,188 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { KMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KMSClient";
4
+ import type { GetKeyLastUsageRequest, GetKeyLastUsageResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetKeyLastUsageCommand}.
14
+ */
15
+ export interface GetKeyLastUsageCommandInput extends GetKeyLastUsageRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetKeyLastUsageCommand}.
21
+ */
22
+ export interface GetKeyLastUsageCommandOutput extends GetKeyLastUsageResponse, __MetadataBearer {
23
+ }
24
+ declare const GetKeyLastUsageCommand_base: {
25
+ new (input: GetKeyLastUsageCommandInput): import("@smithy/smithy-client").CommandImpl<GetKeyLastUsageCommandInput, GetKeyLastUsageCommandOutput, KMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: GetKeyLastUsageCommandInput): import("@smithy/smithy-client").CommandImpl<GetKeyLastUsageCommandInput, GetKeyLastUsageCommandOutput, KMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Returns usage information about the last successful cryptographic operation performed with a
31
+ * specified KMS key, including the operation type, timestamp, and associated CloudTrail event
32
+ * ID.</p>
33
+ * <p>The <code>TrackingStartDate</code> in the <code>GetKeyLastUsage</code> response indicates
34
+ * the date from which KMS began recording cryptographic activity for a given key. Use this
35
+ * value together with <code>KeyCreationDate</code> to understand the key's usage
36
+ * history:</p>
37
+ * <ul>
38
+ * <li>
39
+ * <p>If the <code>KeyLastUsage</code> response element is <i>present</i>,
40
+ * the key has been used for a successful cryptographic operation since the
41
+ * <code>TrackingStartDate</code>. The response includes the operation type, timestamp, and
42
+ * associated CloudTrail event ID.</p>
43
+ * </li>
44
+ * <li>
45
+ * <p>If the <code>KeyLastUsage</code> response element is <i>empty</i> and
46
+ * <code>KeyCreationDate</code> is on or after <code>TrackingStartDate</code>, the key has
47
+ * not been used for a successful cryptographic operation since it was created.</p>
48
+ * </li>
49
+ * <li>
50
+ * <p>If the <code>KeyLastUsage</code> response element is <i>empty</i> and
51
+ * <code>KeyCreationDate</code> is before <code>TrackingStartDate</code>, there is no record
52
+ * of the key being used for a successful cryptographic operation since the
53
+ * <code>TrackingStartDate</code>. However, the key may have been used before tracking
54
+ * began. To determine whether the key was used before the <code>TrackingStartDate</code>,
55
+ * examine your past CloudTrail logs.</p>
56
+ * </li>
57
+ * </ul>
58
+ * <p>For multi-Region KMS keys, primary and replica keys track last usage independently. Each
59
+ * key in a multi-Region key set maintains its own usage information.</p>
60
+ * <p>The <code>ReEncrypt</code> operation uses two keys: a source key for decryption and a
61
+ * destination key for encryption. Usage information is recorded for both keys independently,
62
+ * each with the CloudTrail event ID from the respective key owner's account.</p>
63
+ * <note>
64
+ * <p>Do not use <code>GetKeyLastUsage</code> as the sole indicator when scheduling a key for
65
+ * deletion. Instead, first <a href="https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html">disable the key</a> and monitor CloudTrail for
66
+ * <code>DisabledException</code> entries, as there could be infrequent workflows that are
67
+ * dependent on the key. By looking for this exception, you can identify potential dependencies
68
+ * and workload failures before they occur.</p>
69
+ * </note>
70
+ * <p>
71
+ * <b>Cross-account use</b>: No. You cannot perform this operation
72
+ * on a KMS key in a different Amazon Web Services account.</p>
73
+ * <p>
74
+ * <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GetKeyLastUsage</a> (key policy)</p>
75
+ * <p>
76
+ * <b>Related operations:</b>
77
+ * </p>
78
+ * <ul>
79
+ * <li>
80
+ * <p>
81
+ * <a>DescribeKey</a>
82
+ * </p>
83
+ * </li>
84
+ * <li>
85
+ * <p>
86
+ * <a>DisableKey</a>
87
+ * </p>
88
+ * </li>
89
+ * <li>
90
+ * <p>
91
+ * <a>ScheduleKeyDeletion</a>
92
+ * </p>
93
+ * </li>
94
+ * </ul>
95
+ * <p>
96
+ * <b>Eventual consistency</b>: The KMS API follows an eventual consistency model.
97
+ * For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">KMS eventual consistency</a>.</p>
98
+ * @example
99
+ * Use a bare-bones client and the command you need to make an API call.
100
+ * ```javascript
101
+ * import { KMSClient, GetKeyLastUsageCommand } from "@aws-sdk/client-kms"; // ES Modules import
102
+ * // const { KMSClient, GetKeyLastUsageCommand } = require("@aws-sdk/client-kms"); // CommonJS import
103
+ * // import type { KMSClientConfig } from "@aws-sdk/client-kms";
104
+ * const config = {}; // type is KMSClientConfig
105
+ * const client = new KMSClient(config);
106
+ * const input = { // GetKeyLastUsageRequest
107
+ * KeyId: "STRING_VALUE", // required
108
+ * };
109
+ * const command = new GetKeyLastUsageCommand(input);
110
+ * const response = await client.send(command);
111
+ * // { // GetKeyLastUsageResponse
112
+ * // KeyId: "STRING_VALUE",
113
+ * // KeyLastUsage: { // KeyLastUsageData
114
+ * // Operation: "Decrypt" || "DeriveSharedSecret" || "Encrypt" || "GenerateDataKey" || "GenerateDataKeyPair" || "GenerateDataKeyPairWithoutPlaintext" || "GenerateDataKeyWithoutPlaintext" || "GenerateMac" || "ReEncrypt" || "Sign" || "Verify" || "VerifyMac",
115
+ * // Timestamp: new Date("TIMESTAMP"),
116
+ * // CloudTrailEventId: "STRING_VALUE",
117
+ * // KmsRequestId: "STRING_VALUE",
118
+ * // },
119
+ * // TrackingStartDate: new Date("TIMESTAMP"),
120
+ * // KeyCreationDate: new Date("TIMESTAMP"),
121
+ * // };
122
+ *
123
+ * ```
124
+ *
125
+ * @param GetKeyLastUsageCommandInput - {@link GetKeyLastUsageCommandInput}
126
+ * @returns {@link GetKeyLastUsageCommandOutput}
127
+ * @see {@link GetKeyLastUsageCommandInput} for command's `input` shape.
128
+ * @see {@link GetKeyLastUsageCommandOutput} for command's `response` shape.
129
+ * @see {@link KMSClientResolvedConfig | config} for KMSClient's `config` shape.
130
+ *
131
+ * @throws {@link DependencyTimeoutException} (server fault)
132
+ * <p>The system timed out while trying to fulfill the request. You can retry the
133
+ * request.</p>
134
+ *
135
+ * @throws {@link InvalidArnException} (client fault)
136
+ * <p>The request was rejected because a specified ARN, or an ARN in a key policy, is not
137
+ * valid.</p>
138
+ *
139
+ * @throws {@link KMSInternalException} (server fault)
140
+ * <p>The request was rejected because an internal exception occurred. The request can be
141
+ * retried.</p>
142
+ *
143
+ * @throws {@link NotFoundException} (client fault)
144
+ * <p>The request was rejected because the specified entity or resource could not be
145
+ * found.</p>
146
+ *
147
+ * @throws {@link KMSServiceException}
148
+ * <p>Base exception class for all service exceptions from KMS service.</p>
149
+ *
150
+ *
151
+ * @example To retrieve the last usage for a KMS key
152
+ * ```javascript
153
+ * // The following example retrieves usage information about the last successful cryptographic operation performed with the specified KMS key, including the operation type, timestamp, and associated AWS CloudTrail event ID.
154
+ * const input = {
155
+ * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab"
156
+ * };
157
+ * const command = new GetKeyLastUsageCommand(input);
158
+ * const response = await client.send(command);
159
+ * /* response is
160
+ * {
161
+ * KeyCreationDate: 1.77325342556E9,
162
+ * KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab",
163
+ * KeyLastUsage: {
164
+ * CloudTrailEventId: "2cfd5892-ea8c-4342-ad49-4b9594b06a8b",
165
+ * KmsRequestId: "040cce3e-9ef3-4651-b8cf-e47c9bafdc9b",
166
+ * Operation: "Encrypt",
167
+ * Timestamp: 1.773253497E9
168
+ * },
169
+ * TrackingStartDate: 1.77325342556E9
170
+ * }
171
+ * *\/
172
+ * ```
173
+ *
174
+ * @public
175
+ */
176
+ export declare class GetKeyLastUsageCommand extends GetKeyLastUsageCommand_base {
177
+ /** @internal type navigation helper, not in runtime. */
178
+ protected static __types: {
179
+ api: {
180
+ input: GetKeyLastUsageRequest;
181
+ output: GetKeyLastUsageResponse;
182
+ };
183
+ sdk: {
184
+ input: GetKeyLastUsageCommandInput;
185
+ output: GetKeyLastUsageCommandOutput;
186
+ };
187
+ };
188
+ }
@@ -74,8 +74,10 @@ declare const ReEncryptCommand_base: {
74
74
  * <p>
75
75
  * <b>Cross-account use</b>: Yes. The source KMS key and
76
76
  * destination KMS key can be in different Amazon Web Services accounts. Either or both KMS keys can be in a
77
- * different account than the caller. To specify a KMS key in a different account, you must use
78
- * its key ARN or alias ARN.</p>
77
+ * different account than the caller. To specify a KMS key in a different account, use the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN">key ARN</a>
78
+ * or <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-alias-ARN">alias ARN</a>. A short <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id">key ID</a>
79
+ * is also acceptable for the source key when decrypting symmetric ciphertexts, though
80
+ * using a full key ARN is recommended to be more explicit about the intended KMS key.</p>
79
81
  * <p>
80
82
  * <b>Required permissions</b>:</p>
81
83
  * <ul>
@@ -58,8 +58,10 @@ declare const UpdateCustomKeyStoreCommand_base: {
58
58
  * name (<code>NewCustomKeyStoreName</code>), to tell KMS about a change to the
59
59
  * <code>kmsuser</code> crypto user password (<code>KeyStorePassword</code>), or to associate
60
60
  * the custom key store with a different, but related, CloudHSM cluster
61
- * (<code>CloudHsmClusterId</code>). To update any property of an CloudHSM key store, the
62
- * <code>ConnectionState</code> of the CloudHSM key store must be <code>DISCONNECTED</code>. </p>
61
+ * (<code>CloudHsmClusterId</code>). To update most properties of an CloudHSM key store, the
62
+ * <code>ConnectionState</code> of the CloudHSM key store must be <code>DISCONNECTED</code>.
63
+ * However, you can update the <code>CustomKeyStoreName</code> of an AWS CloudHSM key store
64
+ * when it is in the <code>CONNECTED</code> or <code>DISCONNECTED</code> state.</p>
63
65
  * <p>For an external key store, you can use this operation to change the custom key store
64
66
  * friendly name (<code>NewCustomKeyStoreName</code>), or to tell KMS about a change to the
65
67
  * external key store proxy authentication credentials
@@ -238,8 +240,10 @@ declare const UpdateCustomKeyStoreCommand_base: {
238
240
  * </li>
239
241
  * <li>
240
242
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
241
- * disconnected. This operation is valid only when the custom key store
242
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
243
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
244
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
245
+ * For all other properties, the custom key store
246
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
243
247
  * </li>
244
248
  * <li>
245
249
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -23,6 +23,7 @@ export * from "./GenerateDataKeyPairWithoutPlaintextCommand";
23
23
  export * from "./GenerateDataKeyWithoutPlaintextCommand";
24
24
  export * from "./GenerateMacCommand";
25
25
  export * from "./GenerateRandomCommand";
26
+ export * from "./GetKeyLastUsageCommand";
26
27
  export * from "./GetKeyPolicyCommand";
27
28
  export * from "./GetKeyRotationStatusCommand";
28
29
  export * from "./GetParametersForImportCommand";
@@ -355,6 +355,28 @@ export declare const KeyEncryptionMechanism: {
355
355
  * @public
356
356
  */
357
357
  export type KeyEncryptionMechanism = (typeof KeyEncryptionMechanism)[keyof typeof KeyEncryptionMechanism];
358
+ /**
359
+ * @public
360
+ * @enum
361
+ */
362
+ export declare const KeyLastUsageTrackingOperation: {
363
+ readonly Decrypt: "Decrypt";
364
+ readonly DeriveSharedSecret: "DeriveSharedSecret";
365
+ readonly Encrypt: "Encrypt";
366
+ readonly GenerateDataKey: "GenerateDataKey";
367
+ readonly GenerateDataKeyPair: "GenerateDataKeyPair";
368
+ readonly GenerateDataKeyPairWithoutPlaintext: "GenerateDataKeyPairWithoutPlaintext";
369
+ readonly GenerateDataKeyWithoutPlaintext: "GenerateDataKeyWithoutPlaintext";
370
+ readonly GenerateMac: "GenerateMac";
371
+ readonly ReEncrypt: "ReEncrypt";
372
+ readonly Sign: "Sign";
373
+ readonly Verify: "Verify";
374
+ readonly VerifyMac: "VerifyMac";
375
+ };
376
+ /**
377
+ * @public
378
+ */
379
+ export type KeyLastUsageTrackingOperation = (typeof KeyLastUsageTrackingOperation)[keyof typeof KeyLastUsageTrackingOperation];
358
380
  /**
359
381
  * @public
360
382
  * @enum
@@ -240,8 +240,10 @@ export declare class ConflictException extends __BaseException {
240
240
  * </li>
241
241
  * <li>
242
242
  * <p>You requested the <a>UpdateCustomKeyStore</a> or <a>DeleteCustomKeyStore</a> operation on a custom key store that is not
243
- * disconnected. This operation is valid only when the custom key store
244
- * <code>ConnectionState</code> is <code>DISCONNECTED</code>.</p>
243
+ * disconnected. <code>UpdateCustomKeyStore</code> can be called on a custom key store in the
244
+ * <code>CONNECTED</code> state only to update <code>NewCustomKeyStoreName</code>.
245
+ * For all other properties, the custom key store
246
+ * <code>ConnectionState</code> must be <code>DISCONNECTED</code>.</p>
245
247
  * </li>
246
248
  * <li>
247
249
  * <p>You requested the <a>GenerateRandom</a> operation in an CloudHSM key store
@@ -1,4 +1,4 @@
1
- import type { AlgorithmSpec, ConnectionErrorCodeType, ConnectionStateType, CustomerMasterKeySpec, CustomKeyStoreType, DataKeyPairSpec, DataKeySpec, DryRunModifierType, EncryptionAlgorithmSpec, ExpirationModelType, GrantOperation, ImportState, ImportType, IncludeKeyMaterial, KeyAgreementAlgorithmSpec, KeyEncryptionMechanism, KeyManagerType, KeyMaterialState, KeySpec, KeyState, KeyUsageType, MacAlgorithmSpec, MessageType, MultiRegionKeyType, OriginType, RotationType, SigningAlgorithmSpec, WrappingKeySpec, XksProxyConnectivityType } from "./enums";
1
+ import type { AlgorithmSpec, ConnectionErrorCodeType, ConnectionStateType, CustomerMasterKeySpec, CustomKeyStoreType, DataKeyPairSpec, DataKeySpec, DryRunModifierType, EncryptionAlgorithmSpec, ExpirationModelType, GrantOperation, ImportState, ImportType, IncludeKeyMaterial, KeyAgreementAlgorithmSpec, KeyEncryptionMechanism, KeyLastUsageTrackingOperation, KeyManagerType, KeyMaterialState, KeySpec, KeyState, KeyUsageType, MacAlgorithmSpec, MessageType, MultiRegionKeyType, OriginType, RotationType, SigningAlgorithmSpec, WrappingKeySpec, XksProxyConnectivityType } from "./enums";
2
2
  /**
3
3
  * <p>Contains information about an alias.</p>
4
4
  * @public
@@ -1570,7 +1570,7 @@ export interface DecryptRequest {
1570
1570
  * key or when <code>DryRun</code> is <code>true</code> and <code>DryRunModifiers</code> is set to <code>IGNORE_CIPHERTEXT</code>. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that
1571
1571
  * it adds to the symmetric ciphertext blob. However, it is always recommended as a best
1572
1572
  * practice. This practice ensures that you use the KMS key that you intend.</p>
1573
- * <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>
1573
+ * <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 should use the key ARN or alias ARN.</p>
1574
1574
  * <p>For example:</p>
1575
1575
  * <ul>
1576
1576
  * <li>
@@ -2793,6 +2793,89 @@ export interface GenerateRandomResponse {
2793
2793
  */
2794
2794
  CiphertextForRecipient?: Uint8Array | undefined;
2795
2795
  }
2796
+ /**
2797
+ * @public
2798
+ */
2799
+ export interface GetKeyLastUsageRequest {
2800
+ /**
2801
+ * <p>Identifies the KMS key to get usage information for. To specify a KMS key, use its key ID
2802
+ * or key ARN. Alias names are not supported.</p>
2803
+ * <p>Specify the key ID or key ARN of the KMS key.</p>
2804
+ * <p>For example:</p>
2805
+ * <ul>
2806
+ * <li>
2807
+ * <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code>
2808
+ * </p>
2809
+ * </li>
2810
+ * <li>
2811
+ * <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>
2812
+ * </p>
2813
+ * </li>
2814
+ * </ul>
2815
+ * <p>To get the key ID and key ARN for a KMS key, use <a>ListKeys</a> or <a>DescribeKey</a>.</p>
2816
+ * @public
2817
+ */
2818
+ KeyId: string | undefined;
2819
+ }
2820
+ /**
2821
+ * <p>Contains usage information about the last time the KMS key was used for a successful cryptographic
2822
+ * operation.</p>
2823
+ * @public
2824
+ */
2825
+ export interface KeyLastUsageData {
2826
+ /**
2827
+ * <p>The last successful cryptographic operation the KMS key was used for. Absent if the key has not been
2828
+ * used since KMS began tracking.</p>
2829
+ * @public
2830
+ */
2831
+ Operation?: KeyLastUsageTrackingOperation | undefined;
2832
+ /**
2833
+ * <p>The date and time when the KMS key was most recently used for a successful cryptographic
2834
+ * operation. Absent if the key has not been used since KMS began tracking.</p>
2835
+ * @public
2836
+ */
2837
+ Timestamp?: Date | undefined;
2838
+ /**
2839
+ * <p>The CloudTrail <code>eventId</code> associated with the last successful cryptographic operation.
2840
+ * Absent if the key has not been used since KMS began tracking.</p>
2841
+ * @public
2842
+ */
2843
+ CloudTrailEventId?: string | undefined;
2844
+ /**
2845
+ * <p>The KMS request ID associated with the last successful cryptographic operation. Absent if the key
2846
+ * has not been used since KMS began tracking.</p>
2847
+ * @public
2848
+ */
2849
+ KmsRequestId?: string | undefined;
2850
+ }
2851
+ /**
2852
+ * @public
2853
+ */
2854
+ export interface GetKeyLastUsageResponse {
2855
+ /**
2856
+ * <p>The globally unique identifier for the KMS key.</p>
2857
+ * @public
2858
+ */
2859
+ KeyId?: string | undefined;
2860
+ /**
2861
+ * <p>Contains usage information about the last time the KMS key was used for a successful cryptographic
2862
+ * operation. If the key has not been used since tracking began, this response element is
2863
+ * empty.</p>
2864
+ * @public
2865
+ */
2866
+ KeyLastUsage?: KeyLastUsageData | undefined;
2867
+ /**
2868
+ * <p>The date from which KMS began recording cryptographic activity for this key, or the date
2869
+ * the KMS key was created, whichever is later.</p>
2870
+ * @public
2871
+ */
2872
+ TrackingStartDate?: Date | undefined;
2873
+ /**
2874
+ * <p>The date and time when the KMS key was created.</p>
2875
+ * @public
2876
+ */
2877
+ KeyCreationDate?: Date | undefined;
2878
+ }
2796
2879
  /**
2797
2880
  * @public
2798
2881
  */
@@ -3943,7 +4026,7 @@ export interface ReEncryptRequest {
3943
4026
  * <code>IGNORE_CIPHERTEXT</code>. If you used a symmetric encryption KMS key, KMS can get the KMS key
3944
4027
  * from metadata that it adds to the symmetric ciphertext blob. However, it is always recommended as a best
3945
4028
  * practice. This practice ensures that you use the KMS key that you intend.</p>
3946
- * <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>
4029
+ * <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 should use the key ARN or alias ARN.</p>
3947
4030
  * <p>For example:</p>
3948
4031
  * <ul>
3949
4032
  * <li>
@@ -4507,6 +4590,12 @@ export interface SignRequest {
4507
4590
  * </p>
4508
4591
  * </li>
4509
4592
  * </ul>
4593
+ * <important>
4594
+ * <p>When you specify the ED25519_PH_SHA_512 signing algorithm with <code>MessageType:DIGEST</code>, KMS
4595
+ * still performs the SHA-512 prehash described in <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf#page=39">Step 1
4596
+ * of Section 7.8.1 in FIPS 186-5</a>. This means the input is hashed twice: once by you and once by KMS.
4597
+ * </p>
4598
+ * </important>
4510
4599
  * <p>When the value of <code>MessageType</code> is <code>DIGEST</code>, the length of the
4511
4600
  * <code>Message</code> value must match the length of hashed messages for the specified
4512
4601
  * signing algorithm.</p>
@@ -4713,8 +4802,7 @@ export interface UpdateCustomKeyStoreRequest {
4713
4802
  * <important>
4714
4803
  * <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
4715
4804
  * </important>
4716
- * <p>To change this value, an CloudHSM key store must be disconnected. An external key store can
4717
- * be connected or disconnected.</p>
4805
+ * <p>To change this value, the custom key store can be connected or disconnected.</p>
4718
4806
  * @public
4719
4807
  */
4720
4808
  NewCustomKeyStoreName?: string | undefined;
@@ -4958,6 +5046,12 @@ export interface VerifyRequest {
4958
5046
  * </p>
4959
5047
  * </li>
4960
5048
  * </ul>
5049
+ * <important>
5050
+ * <p>When you specify the ED25519_PH_SHA_512 signing algorithm with <code>MessageType:DIGEST</code>, KMS
5051
+ * still performs the SHA-512 prehash described in <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf#page=39">Step 1
5052
+ * of Section 7.8.1 in FIPS 186-5</a>. This means the input is hashed twice: once by you and once by KMS.
5053
+ * </p>
5054
+ * </important>
4961
5055
  * <p>When the value of <code>MessageType</code> is <code>DIGEST</code>, the length of the
4962
5056
  * <code>Message</code> value must match the length of hashed messages for the specified
4963
5057
  * signing algorithm.</p>
@@ -101,6 +101,8 @@ export declare var GenerateMacRequest$: StaticStructureSchema;
101
101
  export declare var GenerateMacResponse$: StaticStructureSchema;
102
102
  export declare var GenerateRandomRequest$: StaticStructureSchema;
103
103
  export declare var GenerateRandomResponse$: StaticStructureSchema;
104
+ export declare var GetKeyLastUsageRequest$: StaticStructureSchema;
105
+ export declare var GetKeyLastUsageResponse$: StaticStructureSchema;
104
106
  export declare var GetKeyPolicyRequest$: StaticStructureSchema;
105
107
  export declare var GetKeyPolicyResponse$: StaticStructureSchema;
106
108
  export declare var GetKeyRotationStatusRequest$: StaticStructureSchema;
@@ -113,6 +115,7 @@ export declare var GrantConstraints$: StaticStructureSchema;
113
115
  export declare var GrantListEntry$: StaticStructureSchema;
114
116
  export declare var ImportKeyMaterialRequest$: StaticStructureSchema;
115
117
  export declare var ImportKeyMaterialResponse$: StaticStructureSchema;
118
+ export declare var KeyLastUsageData$: StaticStructureSchema;
116
119
  export declare var KeyListEntry$: StaticStructureSchema;
117
120
  export declare var KeyMetadata$: StaticStructureSchema;
118
121
  export declare var ListAliasesRequest$: StaticStructureSchema;
@@ -185,6 +188,7 @@ export declare var GenerateDataKeyPairWithoutPlaintext$: StaticOperationSchema;
185
188
  export declare var GenerateDataKeyWithoutPlaintext$: StaticOperationSchema;
186
189
  export declare var GenerateMac$: StaticOperationSchema;
187
190
  export declare var GenerateRandom$: StaticOperationSchema;
191
+ export declare var GetKeyLastUsage$: StaticOperationSchema;
188
192
  export declare var GetKeyPolicy$: StaticOperationSchema;
189
193
  export declare var GetKeyRotationStatus$: StaticOperationSchema;
190
194
  export declare var GetParametersForImport$: StaticOperationSchema;
@@ -103,6 +103,10 @@ import {
103
103
  GenerateRandomCommandInput,
104
104
  GenerateRandomCommandOutput,
105
105
  } from "./commands/GenerateRandomCommand";
106
+ import {
107
+ GetKeyLastUsageCommandInput,
108
+ GetKeyLastUsageCommandOutput,
109
+ } from "./commands/GetKeyLastUsageCommand";
106
110
  import {
107
111
  GetKeyPolicyCommandInput,
108
112
  GetKeyPolicyCommandOutput,
@@ -549,6 +553,19 @@ export interface KMS {
549
553
  options: __HttpHandlerOptions,
550
554
  cb: (err: any, data?: GenerateRandomCommandOutput) => void
551
555
  ): void;
556
+ getKeyLastUsage(
557
+ args: GetKeyLastUsageCommandInput,
558
+ options?: __HttpHandlerOptions
559
+ ): Promise<GetKeyLastUsageCommandOutput>;
560
+ getKeyLastUsage(
561
+ args: GetKeyLastUsageCommandInput,
562
+ cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void
563
+ ): void;
564
+ getKeyLastUsage(
565
+ args: GetKeyLastUsageCommandInput,
566
+ options: __HttpHandlerOptions,
567
+ cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void
568
+ ): void;
552
569
  getKeyPolicy(
553
570
  args: GetKeyPolicyCommandInput,
554
571
  options?: __HttpHandlerOptions
@@ -144,6 +144,10 @@ import {
144
144
  GenerateRandomCommandInput,
145
145
  GenerateRandomCommandOutput,
146
146
  } from "./commands/GenerateRandomCommand";
147
+ import {
148
+ GetKeyLastUsageCommandInput,
149
+ GetKeyLastUsageCommandOutput,
150
+ } from "./commands/GetKeyLastUsageCommand";
147
151
  import {
148
152
  GetKeyPolicyCommandInput,
149
153
  GetKeyPolicyCommandOutput,
@@ -286,6 +290,7 @@ export type ServiceInputTypes =
286
290
  | GenerateDataKeyWithoutPlaintextCommandInput
287
291
  | GenerateMacCommandInput
288
292
  | GenerateRandomCommandInput
293
+ | GetKeyLastUsageCommandInput
289
294
  | GetKeyPolicyCommandInput
290
295
  | GetKeyRotationStatusCommandInput
291
296
  | GetParametersForImportCommandInput
@@ -340,6 +345,7 @@ export type ServiceOutputTypes =
340
345
  | GenerateDataKeyWithoutPlaintextCommandOutput
341
346
  | GenerateMacCommandOutput
342
347
  | GenerateRandomCommandOutput
348
+ | GetKeyLastUsageCommandOutput
343
349
  | GetKeyPolicyCommandOutput
344
350
  | GetKeyRotationStatusCommandOutput
345
351
  | GetParametersForImportCommandOutput
@@ -0,0 +1,50 @@
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
+ GetKeyLastUsageRequest,
10
+ GetKeyLastUsageResponse,
11
+ } from "../models/models_0";
12
+ export { __MetadataBearer };
13
+ export { $Command };
14
+ export interface GetKeyLastUsageCommandInput extends GetKeyLastUsageRequest {}
15
+ export interface GetKeyLastUsageCommandOutput
16
+ extends GetKeyLastUsageResponse,
17
+ __MetadataBearer {}
18
+ declare const GetKeyLastUsageCommand_base: {
19
+ new (
20
+ input: GetKeyLastUsageCommandInput
21
+ ): import("@smithy/smithy-client").CommandImpl<
22
+ GetKeyLastUsageCommandInput,
23
+ GetKeyLastUsageCommandOutput,
24
+ KMSClientResolvedConfig,
25
+ ServiceInputTypes,
26
+ ServiceOutputTypes
27
+ >;
28
+ new (
29
+ input: GetKeyLastUsageCommandInput
30
+ ): import("@smithy/smithy-client").CommandImpl<
31
+ GetKeyLastUsageCommandInput,
32
+ GetKeyLastUsageCommandOutput,
33
+ KMSClientResolvedConfig,
34
+ ServiceInputTypes,
35
+ ServiceOutputTypes
36
+ >;
37
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
38
+ };
39
+ export declare class GetKeyLastUsageCommand extends GetKeyLastUsageCommand_base {
40
+ protected static __types: {
41
+ api: {
42
+ input: GetKeyLastUsageRequest;
43
+ output: GetKeyLastUsageResponse;
44
+ };
45
+ sdk: {
46
+ input: GetKeyLastUsageCommandInput;
47
+ output: GetKeyLastUsageCommandOutput;
48
+ };
49
+ };
50
+ }
@@ -23,6 +23,7 @@ export * from "./GenerateDataKeyPairWithoutPlaintextCommand";
23
23
  export * from "./GenerateDataKeyWithoutPlaintextCommand";
24
24
  export * from "./GenerateMacCommand";
25
25
  export * from "./GenerateRandomCommand";
26
+ export * from "./GetKeyLastUsageCommand";
26
27
  export * from "./GetKeyPolicyCommand";
27
28
  export * from "./GetKeyRotationStatusCommand";
28
29
  export * from "./GetParametersForImportCommand";
@@ -217,6 +217,22 @@ export declare const KeyEncryptionMechanism: {
217
217
  };
218
218
  export type KeyEncryptionMechanism =
219
219
  (typeof KeyEncryptionMechanism)[keyof typeof KeyEncryptionMechanism];
220
+ export declare const KeyLastUsageTrackingOperation: {
221
+ readonly Decrypt: "Decrypt";
222
+ readonly DeriveSharedSecret: "DeriveSharedSecret";
223
+ readonly Encrypt: "Encrypt";
224
+ readonly GenerateDataKey: "GenerateDataKey";
225
+ readonly GenerateDataKeyPair: "GenerateDataKeyPair";
226
+ readonly GenerateDataKeyPairWithoutPlaintext: "GenerateDataKeyPairWithoutPlaintext";
227
+ readonly GenerateDataKeyWithoutPlaintext: "GenerateDataKeyWithoutPlaintext";
228
+ readonly GenerateMac: "GenerateMac";
229
+ readonly ReEncrypt: "ReEncrypt";
230
+ readonly Sign: "Sign";
231
+ readonly Verify: "Verify";
232
+ readonly VerifyMac: "VerifyMac";
233
+ };
234
+ export type KeyLastUsageTrackingOperation =
235
+ (typeof KeyLastUsageTrackingOperation)[keyof typeof KeyLastUsageTrackingOperation];
220
236
  export declare const WrappingKeySpec: {
221
237
  readonly RSA_2048: "RSA_2048";
222
238
  readonly RSA_3072: "RSA_3072";
@@ -15,6 +15,7 @@ import {
15
15
  IncludeKeyMaterial,
16
16
  KeyAgreementAlgorithmSpec,
17
17
  KeyEncryptionMechanism,
18
+ KeyLastUsageTrackingOperation,
18
19
  KeyManagerType,
19
20
  KeyMaterialState,
20
21
  KeySpec,
@@ -349,6 +350,21 @@ export interface GenerateRandomResponse {
349
350
  Plaintext?: Uint8Array | undefined;
350
351
  CiphertextForRecipient?: Uint8Array | undefined;
351
352
  }
353
+ export interface GetKeyLastUsageRequest {
354
+ KeyId: string | undefined;
355
+ }
356
+ export interface KeyLastUsageData {
357
+ Operation?: KeyLastUsageTrackingOperation | undefined;
358
+ Timestamp?: Date | undefined;
359
+ CloudTrailEventId?: string | undefined;
360
+ KmsRequestId?: string | undefined;
361
+ }
362
+ export interface GetKeyLastUsageResponse {
363
+ KeyId?: string | undefined;
364
+ KeyLastUsage?: KeyLastUsageData | undefined;
365
+ TrackingStartDate?: Date | undefined;
366
+ KeyCreationDate?: Date | undefined;
367
+ }
352
368
  export interface GetKeyPolicyRequest {
353
369
  KeyId: string | undefined;
354
370
  PolicyName?: string | undefined;
@@ -100,6 +100,8 @@ export declare var GenerateMacRequest$: StaticStructureSchema;
100
100
  export declare var GenerateMacResponse$: StaticStructureSchema;
101
101
  export declare var GenerateRandomRequest$: StaticStructureSchema;
102
102
  export declare var GenerateRandomResponse$: StaticStructureSchema;
103
+ export declare var GetKeyLastUsageRequest$: StaticStructureSchema;
104
+ export declare var GetKeyLastUsageResponse$: StaticStructureSchema;
103
105
  export declare var GetKeyPolicyRequest$: StaticStructureSchema;
104
106
  export declare var GetKeyPolicyResponse$: StaticStructureSchema;
105
107
  export declare var GetKeyRotationStatusRequest$: StaticStructureSchema;
@@ -112,6 +114,7 @@ export declare var GrantConstraints$: StaticStructureSchema;
112
114
  export declare var GrantListEntry$: StaticStructureSchema;
113
115
  export declare var ImportKeyMaterialRequest$: StaticStructureSchema;
114
116
  export declare var ImportKeyMaterialResponse$: StaticStructureSchema;
117
+ export declare var KeyLastUsageData$: StaticStructureSchema;
115
118
  export declare var KeyListEntry$: StaticStructureSchema;
116
119
  export declare var KeyMetadata$: StaticStructureSchema;
117
120
  export declare var ListAliasesRequest$: StaticStructureSchema;
@@ -184,6 +187,7 @@ export declare var GenerateDataKeyPairWithoutPlaintext$: StaticOperationSchema;
184
187
  export declare var GenerateDataKeyWithoutPlaintext$: StaticOperationSchema;
185
188
  export declare var GenerateMac$: StaticOperationSchema;
186
189
  export declare var GenerateRandom$: StaticOperationSchema;
190
+ export declare var GetKeyLastUsage$: StaticOperationSchema;
187
191
  export declare var GetKeyPolicy$: StaticOperationSchema;
188
192
  export declare var GetKeyRotationStatus$: StaticOperationSchema;
189
193
  export declare var GetParametersForImport$: StaticOperationSchema;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-kms",
3
3
  "description": "AWS SDK for JavaScript Kms Client for Node.js, Browser and React Native",
4
- "version": "3.1037.0",
4
+ "version": "3.1039.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-kms",
@@ -23,17 +23,17 @@
23
23
  "dependencies": {
24
24
  "@aws-crypto/sha256-browser": "5.2.0",
25
25
  "@aws-crypto/sha256-js": "5.2.0",
26
- "@aws-sdk/core": "^3.974.5",
27
- "@aws-sdk/credential-provider-node": "^3.972.36",
26
+ "@aws-sdk/core": "^3.974.7",
27
+ "@aws-sdk/credential-provider-node": "^3.972.38",
28
28
  "@aws-sdk/middleware-host-header": "^3.972.10",
29
29
  "@aws-sdk/middleware-logger": "^3.972.10",
30
30
  "@aws-sdk/middleware-recursion-detection": "^3.972.11",
31
- "@aws-sdk/middleware-user-agent": "^3.972.35",
31
+ "@aws-sdk/middleware-user-agent": "^3.972.37",
32
32
  "@aws-sdk/region-config-resolver": "^3.972.13",
33
33
  "@aws-sdk/types": "^3.973.8",
34
34
  "@aws-sdk/util-endpoints": "^3.996.8",
35
35
  "@aws-sdk/util-user-agent-browser": "^3.972.10",
36
- "@aws-sdk/util-user-agent-node": "^3.973.21",
36
+ "@aws-sdk/util-user-agent-node": "^3.973.23",
37
37
  "@smithy/config-resolver": "^4.4.17",
38
38
  "@smithy/core": "^3.23.17",
39
39
  "@smithy/fetch-http-handler": "^5.3.17",
@@ -41,7 +41,7 @@
41
41
  "@smithy/invalid-dependency": "^4.2.14",
42
42
  "@smithy/middleware-content-length": "^4.2.14",
43
43
  "@smithy/middleware-endpoint": "^4.4.32",
44
- "@smithy/middleware-retry": "^4.5.5",
44
+ "@smithy/middleware-retry": "^4.5.7",
45
45
  "@smithy/middleware-serde": "^4.2.20",
46
46
  "@smithy/middleware-stack": "^4.2.14",
47
47
  "@smithy/node-config-provider": "^4.3.14",
@@ -57,7 +57,7 @@
57
57
  "@smithy/util-defaults-mode-node": "^4.2.54",
58
58
  "@smithy/util-endpoints": "^3.4.2",
59
59
  "@smithy/util-middleware": "^4.2.14",
60
- "@smithy/util-retry": "^4.3.4",
60
+ "@smithy/util-retry": "^4.3.6",
61
61
  "@smithy/util-utf8": "^4.2.2",
62
62
  "tslib": "^2.6.2"
63
63
  },