import { NodeHttpOptions as __HttpOptions__ } from '@aws-sdk/types'; import * as __aws_sdk_types from '@aws-sdk/types'; /** * GenerateDataKeyInput shape */ export interface GenerateDataKeyInput { /** *

The identifier of the CMK under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

*/ KeyId: string; /** *

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

*/ EncryptionContext?: { [key: string]: string; } | Iterable<[string, string]>; /** *

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

*/ NumberOfBytes?: number; /** *

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

*/ KeySpec?: 'AES_256' | 'AES_128' | string; /** *

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

*/ GrantTokens?: Array | Iterable; /** * The maximum number of times this operation should be retried. If set, this value will override the `maxRetries` configuration set on the client for this command. */ $maxRetries?: number; /** * An object that may be queried to determine if the underlying operation has been aborted. * * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal */ $abortSignal?: __aws_sdk_types.AbortSignal; /** * Per-request HTTP configuration options. If set, any options specified will override the corresponding HTTP option set on the client for this command. */ $httpOptions?: __HttpOptions__; }