import type { HttpHandlerOptions as __HttpHandlerOptions, MetricsRecorder as __MetricsRecorder, PaginationConfiguration, Paginator } from "@smithy/types"; import { type CancelKeyDeletionCommandInput, type CancelKeyDeletionCommandOutput } from "./commands/CancelKeyDeletionCommand"; import { type ConnectCustomKeyStoreCommandInput, type ConnectCustomKeyStoreCommandOutput } from "./commands/ConnectCustomKeyStoreCommand"; import { type CreateAliasCommandInput, type CreateAliasCommandOutput } from "./commands/CreateAliasCommand"; import { type CreateCustomKeyStoreCommandInput, type CreateCustomKeyStoreCommandOutput } from "./commands/CreateCustomKeyStoreCommand"; import { type CreateGrantCommandInput, type CreateGrantCommandOutput } from "./commands/CreateGrantCommand"; import { type CreateKeyCommandInput, type CreateKeyCommandOutput } from "./commands/CreateKeyCommand"; import { type DecapsulateCommandInput, type DecapsulateCommandOutput } from "./commands/DecapsulateCommand"; import { type DecryptCommandInput, type DecryptCommandOutput } from "./commands/DecryptCommand"; import { type DeleteAliasCommandInput, type DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand"; import { type DeleteCustomKeyStoreCommandInput, type DeleteCustomKeyStoreCommandOutput } from "./commands/DeleteCustomKeyStoreCommand"; import { type DeleteImportedKeyMaterialCommandInput, type DeleteImportedKeyMaterialCommandOutput } from "./commands/DeleteImportedKeyMaterialCommand"; import { type DeriveSharedSecretCommandInput, type DeriveSharedSecretCommandOutput } from "./commands/DeriveSharedSecretCommand"; import { type DescribeCustomKeyStoresCommandInput, type DescribeCustomKeyStoresCommandOutput } from "./commands/DescribeCustomKeyStoresCommand"; import { type DescribeKeyCommandInput, type DescribeKeyCommandOutput } from "./commands/DescribeKeyCommand"; import { type DisableKeyCommandInput, type DisableKeyCommandOutput } from "./commands/DisableKeyCommand"; import { type DisableKeyRotationCommandInput, type DisableKeyRotationCommandOutput } from "./commands/DisableKeyRotationCommand"; import { type DisconnectCustomKeyStoreCommandInput, type DisconnectCustomKeyStoreCommandOutput } from "./commands/DisconnectCustomKeyStoreCommand"; import { type EnableKeyCommandInput, type EnableKeyCommandOutput } from "./commands/EnableKeyCommand"; import { type EnableKeyRotationCommandInput, type EnableKeyRotationCommandOutput } from "./commands/EnableKeyRotationCommand"; import { type EncapsulateCommandInput, type EncapsulateCommandOutput } from "./commands/EncapsulateCommand"; import { type EncryptCommandInput, type EncryptCommandOutput } from "./commands/EncryptCommand"; import { type GenerateDataKeyCommandInput, type GenerateDataKeyCommandOutput } from "./commands/GenerateDataKeyCommand"; import { type GenerateDataKeyPairCommandInput, type GenerateDataKeyPairCommandOutput } from "./commands/GenerateDataKeyPairCommand"; import { type GenerateDataKeyPairWithoutPlaintextCommandInput, type GenerateDataKeyPairWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyPairWithoutPlaintextCommand"; import { type GenerateDataKeyWithoutPlaintextCommandInput, type GenerateDataKeyWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyWithoutPlaintextCommand"; import { type GenerateMacCommandInput, type GenerateMacCommandOutput } from "./commands/GenerateMacCommand"; import { type GenerateRandomCommandInput, type GenerateRandomCommandOutput } from "./commands/GenerateRandomCommand"; import { type GetKeyLastUsageCommandInput, type GetKeyLastUsageCommandOutput } from "./commands/GetKeyLastUsageCommand"; import { type GetKeyPolicyCommandInput, type GetKeyPolicyCommandOutput } from "./commands/GetKeyPolicyCommand"; import { type GetKeyRotationStatusCommandInput, type GetKeyRotationStatusCommandOutput } from "./commands/GetKeyRotationStatusCommand"; import { type GetParametersForImportCommandInput, type GetParametersForImportCommandOutput } from "./commands/GetParametersForImportCommand"; import { type GetPublicKeyCommandInput, type GetPublicKeyCommandOutput } from "./commands/GetPublicKeyCommand"; import { type ImportKeyMaterialCommandInput, type ImportKeyMaterialCommandOutput } from "./commands/ImportKeyMaterialCommand"; import { type ListAliasesCommandInput, type ListAliasesCommandOutput } from "./commands/ListAliasesCommand"; import { type ListGrantsCommandInput, type ListGrantsCommandOutput } from "./commands/ListGrantsCommand"; import { type ListKeyPoliciesCommandInput, type ListKeyPoliciesCommandOutput } from "./commands/ListKeyPoliciesCommand"; import { type ListKeyRotationsCommandInput, type ListKeyRotationsCommandOutput } from "./commands/ListKeyRotationsCommand"; import { type ListKeysCommandInput, type ListKeysCommandOutput } from "./commands/ListKeysCommand"; import { type ListResourceTagsCommandInput, type ListResourceTagsCommandOutput } from "./commands/ListResourceTagsCommand"; import { type ListRetirableGrantsCommandInput, type ListRetirableGrantsCommandOutput } from "./commands/ListRetirableGrantsCommand"; import { type PutKeyPolicyCommandInput, type PutKeyPolicyCommandOutput } from "./commands/PutKeyPolicyCommand"; import { type ReEncryptCommandInput, type ReEncryptCommandOutput } from "./commands/ReEncryptCommand"; import { type ReplicateKeyCommandInput, type ReplicateKeyCommandOutput } from "./commands/ReplicateKeyCommand"; import { type RetireGrantCommandInput, type RetireGrantCommandOutput } from "./commands/RetireGrantCommand"; import { type RevokeGrantCommandInput, type RevokeGrantCommandOutput } from "./commands/RevokeGrantCommand"; import { type RotateKeyOnDemandCommandInput, type RotateKeyOnDemandCommandOutput } from "./commands/RotateKeyOnDemandCommand"; import { type ScheduleKeyDeletionCommandInput, type ScheduleKeyDeletionCommandOutput } from "./commands/ScheduleKeyDeletionCommand"; import { type SignCommandInput, type SignCommandOutput } from "./commands/SignCommand"; import { type TagResourceCommandInput, type TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { type UntagResourceCommandInput, type UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { type UpdateAliasCommandInput, type UpdateAliasCommandOutput } from "./commands/UpdateAliasCommand"; import { type UpdateCustomKeyStoreCommandInput, type UpdateCustomKeyStoreCommandOutput } from "./commands/UpdateCustomKeyStoreCommand"; import { type UpdateKeyDescriptionCommandInput, type UpdateKeyDescriptionCommandOutput } from "./commands/UpdateKeyDescriptionCommand"; import { type UpdatePrimaryRegionCommandInput, type UpdatePrimaryRegionCommandOutput } from "./commands/UpdatePrimaryRegionCommand"; import { type VerifyCommandInput, type VerifyCommandOutput } from "./commands/VerifyCommand"; import { type VerifyMacCommandInput, type VerifyMacCommandOutput } from "./commands/VerifyMacCommand"; import { KMSClient } from "./KMSClient"; /** * @public */ export interface KMSRequestOptions extends __HttpHandlerOptions { metricsRecorder?: __MetricsRecorder; } export interface KMS { /** * @see {@link CancelKeyDeletionCommand} */ cancelKeyDeletion(args: CancelKeyDeletionCommandInput, options?: KMSRequestOptions): Promise; cancelKeyDeletion(args: CancelKeyDeletionCommandInput, cb: (err: any, data?: CancelKeyDeletionCommandOutput) => void): void; cancelKeyDeletion(args: CancelKeyDeletionCommandInput, options: KMSRequestOptions, cb: (err: any, data?: CancelKeyDeletionCommandOutput) => void): void; /** * @see {@link ConnectCustomKeyStoreCommand} */ connectCustomKeyStore(args: ConnectCustomKeyStoreCommandInput, options?: KMSRequestOptions): Promise; connectCustomKeyStore(args: ConnectCustomKeyStoreCommandInput, cb: (err: any, data?: ConnectCustomKeyStoreCommandOutput) => void): void; connectCustomKeyStore(args: ConnectCustomKeyStoreCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ConnectCustomKeyStoreCommandOutput) => void): void; /** * @see {@link CreateAliasCommand} */ createAlias(args: CreateAliasCommandInput, options?: KMSRequestOptions): Promise; createAlias(args: CreateAliasCommandInput, cb: (err: any, data?: CreateAliasCommandOutput) => void): void; createAlias(args: CreateAliasCommandInput, options: KMSRequestOptions, cb: (err: any, data?: CreateAliasCommandOutput) => void): void; /** * @see {@link CreateCustomKeyStoreCommand} */ createCustomKeyStore(args: CreateCustomKeyStoreCommandInput, options?: KMSRequestOptions): Promise; createCustomKeyStore(args: CreateCustomKeyStoreCommandInput, cb: (err: any, data?: CreateCustomKeyStoreCommandOutput) => void): void; createCustomKeyStore(args: CreateCustomKeyStoreCommandInput, options: KMSRequestOptions, cb: (err: any, data?: CreateCustomKeyStoreCommandOutput) => void): void; /** * @see {@link CreateGrantCommand} */ createGrant(args: CreateGrantCommandInput, options?: KMSRequestOptions): Promise; createGrant(args: CreateGrantCommandInput, cb: (err: any, data?: CreateGrantCommandOutput) => void): void; createGrant(args: CreateGrantCommandInput, options: KMSRequestOptions, cb: (err: any, data?: CreateGrantCommandOutput) => void): void; /** * @see {@link CreateKeyCommand} */ createKey(): Promise; createKey(args: CreateKeyCommandInput, options?: KMSRequestOptions): Promise; createKey(args: CreateKeyCommandInput, cb: (err: any, data?: CreateKeyCommandOutput) => void): void; createKey(args: CreateKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: CreateKeyCommandOutput) => void): void; /** * @see {@link DecapsulateCommand} */ decapsulate(args: DecapsulateCommandInput, options?: KMSRequestOptions): Promise; decapsulate(args: DecapsulateCommandInput, cb: (err: any, data?: DecapsulateCommandOutput) => void): void; decapsulate(args: DecapsulateCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DecapsulateCommandOutput) => void): void; /** * @see {@link DecryptCommand} */ decrypt(): Promise; decrypt(args: DecryptCommandInput, options?: KMSRequestOptions): Promise; decrypt(args: DecryptCommandInput, cb: (err: any, data?: DecryptCommandOutput) => void): void; decrypt(args: DecryptCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DecryptCommandOutput) => void): void; /** * @see {@link DeleteAliasCommand} */ deleteAlias(args: DeleteAliasCommandInput, options?: KMSRequestOptions): Promise; deleteAlias(args: DeleteAliasCommandInput, cb: (err: any, data?: DeleteAliasCommandOutput) => void): void; deleteAlias(args: DeleteAliasCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DeleteAliasCommandOutput) => void): void; /** * @see {@link DeleteCustomKeyStoreCommand} */ deleteCustomKeyStore(args: DeleteCustomKeyStoreCommandInput, options?: KMSRequestOptions): Promise; deleteCustomKeyStore(args: DeleteCustomKeyStoreCommandInput, cb: (err: any, data?: DeleteCustomKeyStoreCommandOutput) => void): void; deleteCustomKeyStore(args: DeleteCustomKeyStoreCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DeleteCustomKeyStoreCommandOutput) => void): void; /** * @see {@link DeleteImportedKeyMaterialCommand} */ deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, options?: KMSRequestOptions): Promise; deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, cb: (err: any, data?: DeleteImportedKeyMaterialCommandOutput) => void): void; deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DeleteImportedKeyMaterialCommandOutput) => void): void; /** * @see {@link DeriveSharedSecretCommand} */ deriveSharedSecret(args: DeriveSharedSecretCommandInput, options?: KMSRequestOptions): Promise; deriveSharedSecret(args: DeriveSharedSecretCommandInput, cb: (err: any, data?: DeriveSharedSecretCommandOutput) => void): void; deriveSharedSecret(args: DeriveSharedSecretCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DeriveSharedSecretCommandOutput) => void): void; /** * @see {@link DescribeCustomKeyStoresCommand} */ describeCustomKeyStores(): Promise; describeCustomKeyStores(args: DescribeCustomKeyStoresCommandInput, options?: KMSRequestOptions): Promise; describeCustomKeyStores(args: DescribeCustomKeyStoresCommandInput, cb: (err: any, data?: DescribeCustomKeyStoresCommandOutput) => void): void; describeCustomKeyStores(args: DescribeCustomKeyStoresCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DescribeCustomKeyStoresCommandOutput) => void): void; /** * @see {@link DescribeKeyCommand} */ describeKey(args: DescribeKeyCommandInput, options?: KMSRequestOptions): Promise; describeKey(args: DescribeKeyCommandInput, cb: (err: any, data?: DescribeKeyCommandOutput) => void): void; describeKey(args: DescribeKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DescribeKeyCommandOutput) => void): void; /** * @see {@link DisableKeyCommand} */ disableKey(args: DisableKeyCommandInput, options?: KMSRequestOptions): Promise; disableKey(args: DisableKeyCommandInput, cb: (err: any, data?: DisableKeyCommandOutput) => void): void; disableKey(args: DisableKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DisableKeyCommandOutput) => void): void; /** * @see {@link DisableKeyRotationCommand} */ disableKeyRotation(args: DisableKeyRotationCommandInput, options?: KMSRequestOptions): Promise; disableKeyRotation(args: DisableKeyRotationCommandInput, cb: (err: any, data?: DisableKeyRotationCommandOutput) => void): void; disableKeyRotation(args: DisableKeyRotationCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DisableKeyRotationCommandOutput) => void): void; /** * @see {@link DisconnectCustomKeyStoreCommand} */ disconnectCustomKeyStore(args: DisconnectCustomKeyStoreCommandInput, options?: KMSRequestOptions): Promise; disconnectCustomKeyStore(args: DisconnectCustomKeyStoreCommandInput, cb: (err: any, data?: DisconnectCustomKeyStoreCommandOutput) => void): void; disconnectCustomKeyStore(args: DisconnectCustomKeyStoreCommandInput, options: KMSRequestOptions, cb: (err: any, data?: DisconnectCustomKeyStoreCommandOutput) => void): void; /** * @see {@link EnableKeyCommand} */ enableKey(args: EnableKeyCommandInput, options?: KMSRequestOptions): Promise; enableKey(args: EnableKeyCommandInput, cb: (err: any, data?: EnableKeyCommandOutput) => void): void; enableKey(args: EnableKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: EnableKeyCommandOutput) => void): void; /** * @see {@link EnableKeyRotationCommand} */ enableKeyRotation(args: EnableKeyRotationCommandInput, options?: KMSRequestOptions): Promise; enableKeyRotation(args: EnableKeyRotationCommandInput, cb: (err: any, data?: EnableKeyRotationCommandOutput) => void): void; enableKeyRotation(args: EnableKeyRotationCommandInput, options: KMSRequestOptions, cb: (err: any, data?: EnableKeyRotationCommandOutput) => void): void; /** * @see {@link EncapsulateCommand} */ encapsulate(args: EncapsulateCommandInput, options?: KMSRequestOptions): Promise; encapsulate(args: EncapsulateCommandInput, cb: (err: any, data?: EncapsulateCommandOutput) => void): void; encapsulate(args: EncapsulateCommandInput, options: KMSRequestOptions, cb: (err: any, data?: EncapsulateCommandOutput) => void): void; /** * @see {@link EncryptCommand} */ encrypt(args: EncryptCommandInput, options?: KMSRequestOptions): Promise; encrypt(args: EncryptCommandInput, cb: (err: any, data?: EncryptCommandOutput) => void): void; encrypt(args: EncryptCommandInput, options: KMSRequestOptions, cb: (err: any, data?: EncryptCommandOutput) => void): void; /** * @see {@link GenerateDataKeyCommand} */ generateDataKey(args: GenerateDataKeyCommandInput, options?: KMSRequestOptions): Promise; generateDataKey(args: GenerateDataKeyCommandInput, cb: (err: any, data?: GenerateDataKeyCommandOutput) => void): void; generateDataKey(args: GenerateDataKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateDataKeyCommandOutput) => void): void; /** * @see {@link GenerateDataKeyPairCommand} */ generateDataKeyPair(args: GenerateDataKeyPairCommandInput, options?: KMSRequestOptions): Promise; generateDataKeyPair(args: GenerateDataKeyPairCommandInput, cb: (err: any, data?: GenerateDataKeyPairCommandOutput) => void): void; generateDataKeyPair(args: GenerateDataKeyPairCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateDataKeyPairCommandOutput) => void): void; /** * @see {@link GenerateDataKeyPairWithoutPlaintextCommand} */ generateDataKeyPairWithoutPlaintext(args: GenerateDataKeyPairWithoutPlaintextCommandInput, options?: KMSRequestOptions): Promise; generateDataKeyPairWithoutPlaintext(args: GenerateDataKeyPairWithoutPlaintextCommandInput, cb: (err: any, data?: GenerateDataKeyPairWithoutPlaintextCommandOutput) => void): void; generateDataKeyPairWithoutPlaintext(args: GenerateDataKeyPairWithoutPlaintextCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateDataKeyPairWithoutPlaintextCommandOutput) => void): void; /** * @see {@link GenerateDataKeyWithoutPlaintextCommand} */ generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, options?: KMSRequestOptions): Promise; generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, cb: (err: any, data?: GenerateDataKeyWithoutPlaintextCommandOutput) => void): void; generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateDataKeyWithoutPlaintextCommandOutput) => void): void; /** * @see {@link GenerateMacCommand} */ generateMac(args: GenerateMacCommandInput, options?: KMSRequestOptions): Promise; generateMac(args: GenerateMacCommandInput, cb: (err: any, data?: GenerateMacCommandOutput) => void): void; generateMac(args: GenerateMacCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateMacCommandOutput) => void): void; /** * @see {@link GenerateRandomCommand} */ generateRandom(): Promise; generateRandom(args: GenerateRandomCommandInput, options?: KMSRequestOptions): Promise; generateRandom(args: GenerateRandomCommandInput, cb: (err: any, data?: GenerateRandomCommandOutput) => void): void; generateRandom(args: GenerateRandomCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GenerateRandomCommandOutput) => void): void; /** * @see {@link GetKeyLastUsageCommand} */ getKeyLastUsage(args: GetKeyLastUsageCommandInput, options?: KMSRequestOptions): Promise; getKeyLastUsage(args: GetKeyLastUsageCommandInput, cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void): void; getKeyLastUsage(args: GetKeyLastUsageCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GetKeyLastUsageCommandOutput) => void): void; /** * @see {@link GetKeyPolicyCommand} */ getKeyPolicy(args: GetKeyPolicyCommandInput, options?: KMSRequestOptions): Promise; getKeyPolicy(args: GetKeyPolicyCommandInput, cb: (err: any, data?: GetKeyPolicyCommandOutput) => void): void; getKeyPolicy(args: GetKeyPolicyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GetKeyPolicyCommandOutput) => void): void; /** * @see {@link GetKeyRotationStatusCommand} */ getKeyRotationStatus(args: GetKeyRotationStatusCommandInput, options?: KMSRequestOptions): Promise; getKeyRotationStatus(args: GetKeyRotationStatusCommandInput, cb: (err: any, data?: GetKeyRotationStatusCommandOutput) => void): void; getKeyRotationStatus(args: GetKeyRotationStatusCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GetKeyRotationStatusCommandOutput) => void): void; /** * @see {@link GetParametersForImportCommand} */ getParametersForImport(args: GetParametersForImportCommandInput, options?: KMSRequestOptions): Promise; getParametersForImport(args: GetParametersForImportCommandInput, cb: (err: any, data?: GetParametersForImportCommandOutput) => void): void; getParametersForImport(args: GetParametersForImportCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GetParametersForImportCommandOutput) => void): void; /** * @see {@link GetPublicKeyCommand} */ getPublicKey(args: GetPublicKeyCommandInput, options?: KMSRequestOptions): Promise; getPublicKey(args: GetPublicKeyCommandInput, cb: (err: any, data?: GetPublicKeyCommandOutput) => void): void; getPublicKey(args: GetPublicKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: GetPublicKeyCommandOutput) => void): void; /** * @see {@link ImportKeyMaterialCommand} */ importKeyMaterial(args: ImportKeyMaterialCommandInput, options?: KMSRequestOptions): Promise; importKeyMaterial(args: ImportKeyMaterialCommandInput, cb: (err: any, data?: ImportKeyMaterialCommandOutput) => void): void; importKeyMaterial(args: ImportKeyMaterialCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ImportKeyMaterialCommandOutput) => void): void; /** * @see {@link ListAliasesCommand} */ listAliases(): Promise; listAliases(args: ListAliasesCommandInput, options?: KMSRequestOptions): Promise; listAliases(args: ListAliasesCommandInput, cb: (err: any, data?: ListAliasesCommandOutput) => void): void; listAliases(args: ListAliasesCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListAliasesCommandOutput) => void): void; /** * @see {@link ListGrantsCommand} */ listGrants(args: ListGrantsCommandInput, options?: KMSRequestOptions): Promise; listGrants(args: ListGrantsCommandInput, cb: (err: any, data?: ListGrantsCommandOutput) => void): void; listGrants(args: ListGrantsCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListGrantsCommandOutput) => void): void; /** * @see {@link ListKeyPoliciesCommand} */ listKeyPolicies(args: ListKeyPoliciesCommandInput, options?: KMSRequestOptions): Promise; listKeyPolicies(args: ListKeyPoliciesCommandInput, cb: (err: any, data?: ListKeyPoliciesCommandOutput) => void): void; listKeyPolicies(args: ListKeyPoliciesCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListKeyPoliciesCommandOutput) => void): void; /** * @see {@link ListKeyRotationsCommand} */ listKeyRotations(args: ListKeyRotationsCommandInput, options?: KMSRequestOptions): Promise; listKeyRotations(args: ListKeyRotationsCommandInput, cb: (err: any, data?: ListKeyRotationsCommandOutput) => void): void; listKeyRotations(args: ListKeyRotationsCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListKeyRotationsCommandOutput) => void): void; /** * @see {@link ListKeysCommand} */ listKeys(): Promise; listKeys(args: ListKeysCommandInput, options?: KMSRequestOptions): Promise; listKeys(args: ListKeysCommandInput, cb: (err: any, data?: ListKeysCommandOutput) => void): void; listKeys(args: ListKeysCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListKeysCommandOutput) => void): void; /** * @see {@link ListResourceTagsCommand} */ listResourceTags(args: ListResourceTagsCommandInput, options?: KMSRequestOptions): Promise; listResourceTags(args: ListResourceTagsCommandInput, cb: (err: any, data?: ListResourceTagsCommandOutput) => void): void; listResourceTags(args: ListResourceTagsCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListResourceTagsCommandOutput) => void): void; /** * @see {@link ListRetirableGrantsCommand} */ listRetirableGrants(): Promise; listRetirableGrants(args: ListRetirableGrantsCommandInput, options?: KMSRequestOptions): Promise; listRetirableGrants(args: ListRetirableGrantsCommandInput, cb: (err: any, data?: ListRetirableGrantsCommandOutput) => void): void; listRetirableGrants(args: ListRetirableGrantsCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ListRetirableGrantsCommandOutput) => void): void; /** * @see {@link PutKeyPolicyCommand} */ putKeyPolicy(args: PutKeyPolicyCommandInput, options?: KMSRequestOptions): Promise; putKeyPolicy(args: PutKeyPolicyCommandInput, cb: (err: any, data?: PutKeyPolicyCommandOutput) => void): void; putKeyPolicy(args: PutKeyPolicyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: PutKeyPolicyCommandOutput) => void): void; /** * @see {@link ReEncryptCommand} */ reEncrypt(args: ReEncryptCommandInput, options?: KMSRequestOptions): Promise; reEncrypt(args: ReEncryptCommandInput, cb: (err: any, data?: ReEncryptCommandOutput) => void): void; reEncrypt(args: ReEncryptCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ReEncryptCommandOutput) => void): void; /** * @see {@link ReplicateKeyCommand} */ replicateKey(args: ReplicateKeyCommandInput, options?: KMSRequestOptions): Promise; replicateKey(args: ReplicateKeyCommandInput, cb: (err: any, data?: ReplicateKeyCommandOutput) => void): void; replicateKey(args: ReplicateKeyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ReplicateKeyCommandOutput) => void): void; /** * @see {@link RetireGrantCommand} */ retireGrant(): Promise; retireGrant(args: RetireGrantCommandInput, options?: KMSRequestOptions): Promise; retireGrant(args: RetireGrantCommandInput, cb: (err: any, data?: RetireGrantCommandOutput) => void): void; retireGrant(args: RetireGrantCommandInput, options: KMSRequestOptions, cb: (err: any, data?: RetireGrantCommandOutput) => void): void; /** * @see {@link RevokeGrantCommand} */ revokeGrant(args: RevokeGrantCommandInput, options?: KMSRequestOptions): Promise; revokeGrant(args: RevokeGrantCommandInput, cb: (err: any, data?: RevokeGrantCommandOutput) => void): void; revokeGrant(args: RevokeGrantCommandInput, options: KMSRequestOptions, cb: (err: any, data?: RevokeGrantCommandOutput) => void): void; /** * @see {@link RotateKeyOnDemandCommand} */ rotateKeyOnDemand(args: RotateKeyOnDemandCommandInput, options?: KMSRequestOptions): Promise; rotateKeyOnDemand(args: RotateKeyOnDemandCommandInput, cb: (err: any, data?: RotateKeyOnDemandCommandOutput) => void): void; rotateKeyOnDemand(args: RotateKeyOnDemandCommandInput, options: KMSRequestOptions, cb: (err: any, data?: RotateKeyOnDemandCommandOutput) => void): void; /** * @see {@link ScheduleKeyDeletionCommand} */ scheduleKeyDeletion(args: ScheduleKeyDeletionCommandInput, options?: KMSRequestOptions): Promise; scheduleKeyDeletion(args: ScheduleKeyDeletionCommandInput, cb: (err: any, data?: ScheduleKeyDeletionCommandOutput) => void): void; scheduleKeyDeletion(args: ScheduleKeyDeletionCommandInput, options: KMSRequestOptions, cb: (err: any, data?: ScheduleKeyDeletionCommandOutput) => void): void; /** * @see {@link SignCommand} */ sign(args: SignCommandInput, options?: KMSRequestOptions): Promise; sign(args: SignCommandInput, cb: (err: any, data?: SignCommandOutput) => void): void; sign(args: SignCommandInput, options: KMSRequestOptions, cb: (err: any, data?: SignCommandOutput) => void): void; /** * @see {@link TagResourceCommand} */ tagResource(args: TagResourceCommandInput, options?: KMSRequestOptions): Promise; tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; tagResource(args: TagResourceCommandInput, options: KMSRequestOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void; /** * @see {@link UntagResourceCommand} */ untagResource(args: UntagResourceCommandInput, options?: KMSRequestOptions): Promise; untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void; untagResource(args: UntagResourceCommandInput, options: KMSRequestOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void; /** * @see {@link UpdateAliasCommand} */ updateAlias(args: UpdateAliasCommandInput, options?: KMSRequestOptions): Promise; updateAlias(args: UpdateAliasCommandInput, cb: (err: any, data?: UpdateAliasCommandOutput) => void): void; updateAlias(args: UpdateAliasCommandInput, options: KMSRequestOptions, cb: (err: any, data?: UpdateAliasCommandOutput) => void): void; /** * @see {@link UpdateCustomKeyStoreCommand} */ updateCustomKeyStore(args: UpdateCustomKeyStoreCommandInput, options?: KMSRequestOptions): Promise; updateCustomKeyStore(args: UpdateCustomKeyStoreCommandInput, cb: (err: any, data?: UpdateCustomKeyStoreCommandOutput) => void): void; updateCustomKeyStore(args: UpdateCustomKeyStoreCommandInput, options: KMSRequestOptions, cb: (err: any, data?: UpdateCustomKeyStoreCommandOutput) => void): void; /** * @see {@link UpdateKeyDescriptionCommand} */ updateKeyDescription(args: UpdateKeyDescriptionCommandInput, options?: KMSRequestOptions): Promise; updateKeyDescription(args: UpdateKeyDescriptionCommandInput, cb: (err: any, data?: UpdateKeyDescriptionCommandOutput) => void): void; updateKeyDescription(args: UpdateKeyDescriptionCommandInput, options: KMSRequestOptions, cb: (err: any, data?: UpdateKeyDescriptionCommandOutput) => void): void; /** * @see {@link UpdatePrimaryRegionCommand} */ updatePrimaryRegion(args: UpdatePrimaryRegionCommandInput, options?: KMSRequestOptions): Promise; updatePrimaryRegion(args: UpdatePrimaryRegionCommandInput, cb: (err: any, data?: UpdatePrimaryRegionCommandOutput) => void): void; updatePrimaryRegion(args: UpdatePrimaryRegionCommandInput, options: KMSRequestOptions, cb: (err: any, data?: UpdatePrimaryRegionCommandOutput) => void): void; /** * @see {@link VerifyCommand} */ verify(args: VerifyCommandInput, options?: KMSRequestOptions): Promise; verify(args: VerifyCommandInput, cb: (err: any, data?: VerifyCommandOutput) => void): void; verify(args: VerifyCommandInput, options: KMSRequestOptions, cb: (err: any, data?: VerifyCommandOutput) => void): void; /** * @see {@link VerifyMacCommand} */ verifyMac(args: VerifyMacCommandInput, options?: KMSRequestOptions): Promise; verifyMac(args: VerifyMacCommandInput, cb: (err: any, data?: VerifyMacCommandOutput) => void): void; verifyMac(args: VerifyMacCommandInput, options: KMSRequestOptions, cb: (err: any, data?: VerifyMacCommandOutput) => void): void; /** * @see {@link DescribeCustomKeyStoresCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link DescribeCustomKeyStoresCommandOutput}. */ paginateDescribeCustomKeyStores(args?: DescribeCustomKeyStoresCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListAliasesCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListAliasesCommandOutput}. */ paginateListAliases(args?: ListAliasesCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListGrantsCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListGrantsCommandOutput}. */ paginateListGrants(args: ListGrantsCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListKeyPoliciesCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListKeyPoliciesCommandOutput}. */ paginateListKeyPolicies(args: ListKeyPoliciesCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListKeyRotationsCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListKeyRotationsCommandOutput}. */ paginateListKeyRotations(args: ListKeyRotationsCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListKeysCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListKeysCommandOutput}. */ paginateListKeys(args?: ListKeysCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListResourceTagsCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListResourceTagsCommandOutput}. */ paginateListResourceTags(args: ListResourceTagsCommandInput, paginationConfig?: Omit): Paginator; /** * @see {@link ListRetirableGrantsCommand} * @param args - command input. * @param paginationConfig - optional pagination config. * @returns AsyncIterable of {@link ListRetirableGrantsCommandOutput}. */ paginateListRetirableGrants(args?: ListRetirableGrantsCommandInput, paginationConfig?: Omit): Paginator; } /** * Key Management Service *

Key Management Service (KMS) is an encryption and key management web service. This guide describes * the KMS operations that you can call programmatically. For general information about KMS, * see the * Key Management Service Developer Guide * .

* *

KMS has replaced the term customer master key (CMK) with Key Management Service key * and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

*

Amazon Web Services provides SDKs that consist of libraries and sample code for various programming * languages and platforms (Java, Rust, Python, Ruby, .Net, macOS, Android, etc.). The SDKs * provide a convenient way to create programmatic access to KMS and other Amazon Web Services services. * For example, the SDKs take care of tasks such as signing requests (see below), managing * errors, and retrying requests automatically. For more information about the Amazon Web Services SDKs, * including how to download and install them, see Tools * for Amazon Web Services.

*
*

We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.

*

If you need to use FIPS 140-2 validated cryptographic modules when communicating with * Amazon Web Services, use one of the FIPS endpoints in your preferred Amazon Web Services Region. If you need communicate * over IPv6, use the dual-stack endpoint in your preferred Amazon Web Services Region. For more information * see Service * endpoints in the Key Management Service topic of the Amazon Web Services General Reference and Dual-stack endpoint * support in the KMS Developer Guide.

*

All KMS API calls must be signed and be transmitted using Transport Layer Security * (TLS). KMS recommends you always use the latest supported TLS version. Clients must also * support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman * (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 * and later support these modes.

* *

With current technology, brute force attacks on KMS TLS cipher suite key exchange * mechanisms are not feasible. However, cipher suites that use Rivest–Shamir–Adleman (RSA) * or Diffie-Hellman (DH) key exchange will be susceptible if large-scale quantum computing * becomes practical. * NIST IR 8547 * on the NIST website establishes a timeline to phase out quantum-vulnerable algorithms * by 2030 and disallow them entirely by 2035. If your applications rely on the long-term * confidentiality of KMS API traffic, we recommend that you * use post-quantum TLS with KMS. * For more information about post-quantum cybersecurity, see Post-Quantum Cybersecurity Resources on the * National Security Agency (NSA) website.

*
*

* Signing Requests *

*

Requests must be signed using an access key ID and a secret access key. We strongly * recommend that you do not use your Amazon Web Services account root access key ID and secret access key for * everyday work. You can use the access key ID and secret access key for an IAM user or you * can use the Security Token Service (STS) to generate temporary security credentials and use those to sign * requests.

*

All KMS requests must be signed with Signature Version 4.

*

* Logging API Requests *

*

KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your * Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the * information collected by CloudTrail, you can determine what requests were made to KMS, who made * the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it * on and find your log files, see the CloudTrail User Guide.

*

* Additional Resources *

*

For more information about credentials and request signing, see the following:

* *

* Commonly Used API Operations *

*

Of the API operations discussed in this guide, the following will prove the most useful * for most applications. You will likely perform operations other than these, such as creating * keys and assigning policies, by using the console.

* * @public */ export declare class KMS extends KMSClient implements KMS { }