import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ElasticFileSystemTag { Key ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LifecyclePolicy { TransitionToIA ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BackupPolicy { Status ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface FileSystemProperties { Encrypted ? : Value < boolean > ; FileSystemTags ? : List < ElasticFileSystemTag > ; KmsKeyId ? : Value < string > ; LifecyclePolicies ? : List < LifecyclePolicy > ; PerformanceMode ? : Value < string > ; ProvisionedThroughputInMibps ? : Value < number > ; ThroughputMode ? : Value < string > ; FileSystemPolicy ? : { [ key ] : any ; } ; BypassPolicyLockoutSafetyCheck ? : Value < boolean > ; BackupPolicy ? : BackupPolicy ; AvailabilityZoneName ? : Value < string > ; } export default class FileSystem extends ResourceBase < FileSystemProperties > { static ElasticFileSystemTag = ElasticFileSystemTag ; static LifecyclePolicy = LifecyclePolicy ; static BackupPolicy = BackupPolicy ; constructor ( properties ? ) { super ( 'AWS::EFS::FileSystem' , properties || { } ) ; } }