import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class MaxAgeRule { DeleteSourceFromS3 ? : Value < boolean > ; Enabled ? : Value < boolean > ; MaxAgeInDays ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ApplicationResourceLifecycleConfig { ServiceRole ? : Value < string > ; VersionLifecycleConfig ? : ApplicationVersionLifecycleConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ApplicationVersionLifecycleConfig { MaxAgeRule ? : MaxAgeRule ; MaxCountRule ? : MaxCountRule ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaxCountRule { DeleteSourceFromS3 ? : Value < boolean > ; Enabled ? : Value < boolean > ; MaxCount ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ApplicationProperties { ApplicationName ? : Value < string > ; Description ? : Value < string > ; ResourceLifecycleConfig ? : ApplicationResourceLifecycleConfig ; } export default class Application extends ResourceBase < ApplicationProperties > { static MaxAgeRule = MaxAgeRule ; static ApplicationResourceLifecycleConfig = ApplicationResourceLifecycleConfig ; static ApplicationVersionLifecycleConfig = ApplicationVersionLifecycleConfig ; static MaxCountRule = MaxCountRule ; constructor ( properties ? ) { super ( 'AWS::ElasticBeanstalk::Application' , properties || { } ) ; } }