import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DnsConfig { DnsRecords ! : List < DnsRecord > ; RoutingPolicy ? : Value < string > ; NamespaceId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HealthCheckConfig { Type ! : Value < string > ; ResourcePath ? : Value < string > ; FailureThreshold ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HealthCheckCustomConfig { FailureThreshold ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DnsRecord { Type ! : Value < string > ; TTL ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ServiceProperties { Type ? : Value < string > ; Description ? : Value < string > ; HealthCheckCustomConfig ? : HealthCheckCustomConfig ; DnsConfig ? : DnsConfig ; NamespaceId ? : Value < string > ; HealthCheckConfig ? : HealthCheckConfig ; Tags ? : List < ResourceTag > ; Name ? : Value < string > ; } export default class Service extends ResourceBase < ServiceProperties > { static DnsConfig = DnsConfig ; static HealthCheckConfig = HealthCheckConfig ; static HealthCheckCustomConfig = HealthCheckCustomConfig ; static DnsRecord = DnsRecord ; constructor ( properties ? ) { super ( 'AWS::ServiceDiscovery::Service' , properties || { } ) ; } }