import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class NetworkConfiguration { AwsVpcConfiguration ? : AwsVpcConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServiceRegistry { ContainerName ? : Value < string > ; ContainerPort ? : Value < number > ; Port ? : Value < number > ; RegistryArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LoadBalancer { ContainerName ? : Value < string > ; ContainerPort ? : Value < number > ; LoadBalancerName ? : Value < string > ; TargetGroupArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AwsVpcConfiguration { AssignPublicIp ? : Value < string > ; SecurityGroups ? : List < Value < string > > ; Subnets ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Scale { Unit ? : Value < string > ; Value ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface TaskSetProperties { Cluster : Value < string > ; ExternalId ? : Value < string > ; LaunchType ? : Value < string > ; LoadBalancers ? : List < LoadBalancer > ; NetworkConfiguration ? : NetworkConfiguration ; PlatformVersion ? : Value < string > ; Scale ? : Scale ; Service : Value < string > ; ServiceRegistries ? : List < ServiceRegistry > ; TaskDefinition : Value < string > ; } export default class TaskSet extends ResourceBase < TaskSetProperties > { static NetworkConfiguration = NetworkConfiguration ; static ServiceRegistry = ServiceRegistry ; static LoadBalancer = LoadBalancer ; static AwsVpcConfiguration = AwsVpcConfiguration ; static Scale = Scale ; constructor ( properties ) { super ( 'AWS::ECS::TaskSet' , properties ) ; } }