import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ITapePoolRef, TapePoolReference } from "../../interfaces/generated/aws-storagegateway-interfaces.generated"; /** * Creates a custom tape pool for archiving virtual tapes with optional retention lock. * * @cloudformationResource AWS::StorageGateway::TapePool * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html */ export declare class CfnTapePool extends cdk.CfnResource implements cdk.IInspectable, ITapePoolRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnTapePool from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTapePool; /** * Checks whether the given object is a CfnTapePool */ static isCfnTapePool(x: any): x is CfnTapePool; /** * Creates a new ITapePoolRef from a poolId */ static fromPoolId(scope: constructs.Construct, id: string, poolId: string): ITapePoolRef; static arnForTapePool(resource: ITapePoolRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The name of the custom tape pool. */ private _poolName; /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ private _retentionLockTimeInDays?; /** * Tape retention lock type. */ private _retentionLockType?; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ private _storageClass; /** * A list of up to 50 tags for the tape pool. */ private _tags?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::TapePool`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnTapePoolProps); get tapePoolRef(): TapePoolReference; /** * The name of the custom tape pool. */ get poolName(): string; /** * The name of the custom tape pool. */ set poolName(value: string); /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ get retentionLockTimeInDays(): number | undefined; /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ set retentionLockTimeInDays(value: number | undefined); /** * Tape retention lock type. */ get retentionLockType(): string | undefined; /** * Tape retention lock type. */ set retentionLockType(value: string | undefined); /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ get storageClass(): string; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ set storageClass(value: string); /** * A list of up to 50 tags for the tape pool. */ get tags(): Array | undefined; /** * A list of up to 50 tags for the tape pool. */ set tags(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the custom tape pool. * * @cloudformationAttribute PoolARN */ get attrPoolArn(): string; /** * The unique identifier of the custom tape pool, extracted from the ARN. * * @cloudformationAttribute PoolId */ get attrPoolId(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnTapePool` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html */ export interface CfnTapePoolProps { /** * The name of the custom tape pool. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-poolname */ readonly poolName: string; /** * Tape retention lock time in days (up to 36,500 days / 100 years). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-retentionlocktimeindays */ readonly retentionLockTimeInDays?: number; /** * Tape retention lock type. * * Governance mode allows authorized removal; compliance mode prevents all removal. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-retentionlocktype */ readonly retentionLockType?: string; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-storageclass */ readonly storageClass: string; /** * A list of up to 50 tags for the tape pool. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-tags */ readonly tags?: Array; } export type { ITapePoolRef, TapePoolReference };