import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class NetworkConfiguration { SubnetIds ? : List < Value < string > > ; SecurityGroupIds ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ModuleLoggingConfiguration { Enabled ? : Value < boolean > ; LogLevel ? : Value < string > ; CloudWatchLogGroupArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LoggingConfiguration { DagProcessingLogs ? : ModuleLoggingConfiguration ; SchedulerLogs ? : ModuleLoggingConfiguration ; WebserverLogs ? : ModuleLoggingConfiguration ; WorkerLogs ? : ModuleLoggingConfiguration ; TaskLogs ? : ModuleLoggingConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface EnvironmentProperties { Name : Value < string > ; ExecutionRoleArn ? : Value < string > ; KmsKey ? : Value < string > ; AirflowVersion ? : Value < string > ; SourceBucketArn ? : Value < string > ; DagS3Path ? : Value < string > ; PluginsS3Path ? : Value < string > ; PluginsS3ObjectVersion ? : Value < string > ; RequirementsS3Path ? : Value < string > ; RequirementsS3ObjectVersion ? : Value < string > ; AirflowConfigurationOptions ? : { [ key ] : any ; } ; EnvironmentClass ? : Value < string > ; MaxWorkers ? : Value < number > ; MinWorkers ? : Value < number > ; Schedulers ? : Value < number > ; NetworkConfiguration ? : NetworkConfiguration ; LoggingConfiguration ? : LoggingConfiguration ; WeeklyMaintenanceWindowStart ? : Value < string > ; Tags ? : TagMap ; WebserverAccessMode ? : Value < string > ; } export default class Environment extends ResourceBase < EnvironmentProperties > { static NetworkConfiguration = NetworkConfiguration ; static ModuleLoggingConfiguration = ModuleLoggingConfiguration ; static LoggingConfiguration = LoggingConfiguration ; constructor ( properties ) { super ( 'AWS::MWAA::Environment' , properties ) ; } }