import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LoadBalancerAttribute { Key ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SubnetMapping { AllocationId ? : Value < string > ; IPv6Address ? : Value < string > ; PrivateIPv4Address ? : Value < string > ; SubnetId ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface LoadBalancerProperties { IpAddressType ? : Value < string > ; LoadBalancerAttributes ? : List < LoadBalancerAttribute > ; Name ? : Value < string > ; Scheme ? : Value < string > ; SecurityGroups ? : List < Value < string > > ; SubnetMappings ? : List < SubnetMapping > ; Subnets ? : List < Value < string > > ; Tags ? : List < ResourceTag > ; Type ? : Value < string > ; } export default class LoadBalancer extends ResourceBase < LoadBalancerProperties > { static LoadBalancerAttribute = LoadBalancerAttribute ; static SubnetMapping = SubnetMapping ; constructor ( properties ? ) { super ( 'AWS::ElasticLoadBalancingV2::LoadBalancer' , properties || { } ) ; } }