import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class InstanceIpv6Address { Ipv6Address ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PrivateIpAddressSpecification { Primary ! : Value < boolean > ; PrivateIpAddress ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface NetworkInterfaceProperties { Description ? : Value < string > ; GroupSet ? : List < Value < string > > ; InterfaceType ? : Value < string > ; Ipv6AddressCount ? : Value < number > ; Ipv6Addresses ? : List < InstanceIpv6Address > ; PrivateIpAddress ? : Value < string > ; PrivateIpAddresses ? : List < PrivateIpAddressSpecification > ; SecondaryPrivateIpAddressCount ? : Value < number > ; SourceDestCheck ? : Value < boolean > ; SubnetId : Value < string > ; Tags ? : List < ResourceTag > ; } export default class NetworkInterface extends ResourceBase < NetworkInterfaceProperties > { static InstanceIpv6Address = InstanceIpv6Address ; static PrivateIpAddressSpecification = PrivateIpAddressSpecification ; constructor ( properties ) { super ( 'AWS::EC2::NetworkInterface' , properties ) ; } }