aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
120 lines (119 loc) • 3.73 kB
TypeScript
import { Connections, IConnectable, ISecurityGroup, IVpc } from '../../aws-ec2';
import { IKey } from '../../aws-kms';
import { RemovalPolicy, Resource } from '../../core';
/**
* The storage type for the file system.
*/
export declare enum StorageType {
/**
* Solid State Drive storage
*/
SSD = "SSD",
/**
* Hard Disk Drive storage
*/
HDD = "HDD",
/**
* Intelligent Tiering storage
*/
INTELLIGENT_TIERING = "INTELLIGENT_TIERING"
}
/**
* Interface to implement FSx File Systems.
*/
export interface IFileSystem extends IConnectable {
/**
* The ID of the file system, assigned by Amazon FSx.
* @attribute
*/
readonly fileSystemId: string;
}
/**
* Properties for the FSx file system
*
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html
*/
export interface FileSystemProps {
/**
* The VPC to launch the file system in.
*/
readonly vpc: IVpc;
/**
* The ID of the backup. Specifies the backup to use if you're creating a file system from an existing backup.
*
* @default - no backup will be used.
*/
readonly backupId?: string;
/**
* The KMS key used for encryption to protect your data at rest.
*
* @default - the aws/fsx default KMS key for the AWS account being deployed into.
*/
readonly kmsKey?: IKey;
/**
* Security Group to assign to this file system.
*
* @default - creates new security group which allows all outbound traffic.
*/
readonly securityGroup?: ISecurityGroup;
/**
* The storage capacity of the file system being created.
*
* For Windows file systems, valid values are 32 GiB to 65,536 GiB.
* For SCRATCH_1 deployment types, valid values are 1,200, 2,400, 3,600, then continuing in increments of 3,600 GiB.
* For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.
* For PERSISTENT_1 HDD file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.
*/
readonly storageCapacityGiB: number;
/**
* Policy to apply when the file system is removed from the stack
*
* @default RemovalPolicy.RETAIN
*/
readonly removalPolicy?: RemovalPolicy;
/**
* The storage type for the file system that you're creating.
*
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagetype
*
* @default StorageType.SSD
*/
readonly storageType?: StorageType;
}
/**
* A new or imported FSx file system.
*/
export declare abstract class FileSystemBase extends Resource implements IFileSystem {
/**
* The security groups/rules used to allow network connections to the file system.
* @attribute
*/
abstract readonly connections: Connections;
/**
* The DNS name assigned to this file system.
* @attribute
*/
abstract readonly dnsName: string;
/**
* The ID of the file system, assigned by Amazon FSx.
* @attribute
*/
abstract readonly fileSystemId: string;
}
/**
* Properties that describe an existing FSx file system.
*/
export interface FileSystemAttributes {
/**
* The DNS name assigned to this file system.
*/
readonly dnsName: string;
/**
* The ID of the file system, assigned by Amazon FSx.
*/
readonly fileSystemId: string;
/**
* The security group of the file system.
*/
readonly securityGroup: ISecurityGroup;
}