-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(aws-fsx): L2 construct for FSx for Lustre
- Loading branch information
Showing
10 changed files
with
1,936 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
import {Connections, IConnectable, ISecurityGroup, IVpc} from "@aws-cdk/aws-ec2"; | ||
import {IKey} from "@aws-cdk/aws-kms"; | ||
import {Resource} from "@aws-cdk/core"; | ||
|
||
/** | ||
* Interface to implement FSx File Systems. | ||
*/ | ||
export interface IFsxFileSystem 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 FsxFileSystemProps { | ||
/** | ||
* 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 and PERSISTENT_1 types, valid values are 1,200, 2,400, then continuing in increments of 2,400 GiB. | ||
*/ | ||
readonly storageCapacity: number; | ||
} | ||
|
||
/** | ||
* A new or imported FSx file system. | ||
*/ | ||
export abstract class FsxFileSystemBase extends Resource implements IFsxFileSystem { | ||
/** | ||
* The security groups/rules used to allow network connections to the file system. | ||
* @attribute | ||
*/ | ||
public abstract readonly connections: Connections; | ||
|
||
/** | ||
* The ID of the file system, assigned by Amazon FSx. | ||
* @attribute | ||
*/ | ||
public abstract readonly fileSystemId: string; | ||
} | ||
|
||
/** | ||
* Properties that describe an existing FSx file system. | ||
*/ | ||
export interface FsxFileSystemAttributes { | ||
/** | ||
* The ID of the file system, assigned by Amazon FSx. | ||
*/ | ||
readonly fileSystemId: string; | ||
|
||
/** | ||
* The security group of the file system. | ||
*/ | ||
readonly securityGroup: ISecurityGroup; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
// AWS::FSx CloudFormation Resources: | ||
export * from './file-system'; | ||
export * from './fsx.generated'; | ||
export * from './lustre-file-system'; |
Oops, something went wrong.