import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class VirtualRouterServiceProvider { VirtualRouterName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeServiceProvider { VirtualNodeName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualServiceProvider { VirtualNode ? : VirtualNodeServiceProvider ; VirtualRouter ? : VirtualRouterServiceProvider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualServiceSpec { Provider ? : VirtualServiceProvider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface VirtualServiceProperties { MeshName : Value < string > ; MeshOwner ? : Value < string > ; VirtualServiceName : Value < string > ; Spec : VirtualServiceSpec ; Tags ? : List < ResourceTag > ; } export default class VirtualService extends ResourceBase < VirtualServiceProperties > { static VirtualRouterServiceProvider = VirtualRouterServiceProvider ; static VirtualNodeServiceProvider = VirtualNodeServiceProvider ; static VirtualServiceProvider = VirtualServiceProvider ; static VirtualServiceSpec = VirtualServiceSpec ; constructor ( properties ) { super ( 'AWS::AppMesh::VirtualService' , properties ) ; } }