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

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

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

*/ KeyId: string; /** *

The name of the key policy. The only valid value is default.

*/ PolicyName: string; /** *

The key policy to attach to the CMK.

The key policy must meet the following criteria:

The key policy size limit is 32 kilobytes (32768 bytes).

*/ Policy: string; /** *

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

*/ BypassPolicyLockoutSafetyCheck?: boolean; /** * 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__; }