121 lines
3.7 KiB
TypeScript
121 lines
3.7 KiB
TypeScript
import type { Connections, IConnectable, ISecurityGroup, IVpc } from '../../aws-ec2';
|
|
import type { IKeyRef } from '../../aws-kms';
|
|
import type { RemovalPolicy } from '../../core';
|
|
import { 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?: IKeyRef;
|
|
/**
|
|
* 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;
|
|
}
|