import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LustreConfiguration { DataCompressionType ? : Value < string > ; DriveCacheType ? : Value < string > ; ImportPath ? : Value < string > ; WeeklyMaintenanceStartTime ? : Value < string > ; AutoImportPolicy ? : Value < string > ; ImportedFileChunkSize ? : Value < number > ; DeploymentType ? : Value < string > ; DailyAutomaticBackupStartTime ? : Value < string > ; CopyTagsToBackups ? : Value < boolean > ; ExportPath ? : Value < string > ; PerUnitStorageThroughput ? : Value < number > ; AutomaticBackupRetentionDays ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SelfManagedActiveDirectoryConfiguration { FileSystemAdministratorsGroup ? : Value < string > ; UserName ? : Value < string > ; DomainName ? : Value < string > ; OrganizationalUnitDistinguishedName ? : Value < string > ; DnsIps ? : List < Value < string > > ; Password ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class WindowsConfiguration { SelfManagedActiveDirectoryConfiguration ? : SelfManagedActiveDirectoryConfiguration ; WeeklyMaintenanceStartTime ? : Value < string > ; ActiveDirectoryId ? : Value < string > ; DeploymentType ? : Value < string > ; Aliases ? : List < Value < string > > ; ThroughputCapacity ! : Value < number > ; CopyTagsToBackups ? : Value < boolean > ; DailyAutomaticBackupStartTime ? : Value < string > ; AutomaticBackupRetentionDays ? : Value < number > ; PreferredSubnetId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface FileSystemProperties { StorageType ? : Value < string > ; KmsKeyId ? : Value < string > ; StorageCapacity ? : Value < number > ; FileSystemType : Value < string > ; LustreConfiguration ? : LustreConfiguration ; BackupId ? : Value < string > ; SubnetIds : List < Value < string > > ; SecurityGroupIds ? : List < Value < string > > ; Tags ? : List < ResourceTag > ; WindowsConfiguration ? : WindowsConfiguration ; } export default class FileSystem extends ResourceBase < FileSystemProperties > { static LustreConfiguration = LustreConfiguration ; static SelfManagedActiveDirectoryConfiguration = SelfManagedActiveDirectoryConfiguration ; static WindowsConfiguration = WindowsConfiguration ; constructor ( properties ) { super ( 'AWS::FSx::FileSystem' , properties ) ; } }