import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Egress { CidrIp ? : Value < string > ; CidrIpv6 ? : Value < string > ; Description ? : Value < string > ; DestinationPrefixListId ? : Value < string > ; DestinationSecurityGroupId ? : Value < string > ; FromPort ? : Value < number > ; IpProtocol ! : Value < string > ; ToPort ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Ingress { CidrIp ? : Value < string > ; CidrIpv6 ? : Value < string > ; Description ? : Value < string > ; FromPort ? : Value < number > ; IpProtocol ! : Value < string > ; SourcePrefixListId ? : Value < string > ; SourceSecurityGroupId ? : Value < string > ; SourceSecurityGroupName ? : Value < string > ; SourceSecurityGroupOwnerId ? : Value < string > ; ToPort ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface SecurityGroupProperties { GroupDescription : Value < string > ; GroupName ? : Value < string > ; SecurityGroupEgress ? : List < Egress > ; SecurityGroupIngress ? : List < Ingress > ; Tags ? : List < ResourceTag > ; VpcId ? : Value < string > ; } export default class SecurityGroup extends ResourceBase < SecurityGroupProperties > { static Egress = Egress ; static Ingress = Ingress ; constructor ( properties ) { super ( 'AWS::EC2::SecurityGroup' , properties ) ; } }