import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class TlsValidationContextSdsTrust { SecretName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ClientPolicyTls { Validation ! : TlsValidationContext ; Enforce ? : Value < boolean > ; Ports ? : List < Value < number > > ; Certificate ? : ClientTlsCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class FileAccessLog { Path ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AwsCloudMapInstanceAttribute { Value ! : Value < string > ; Key ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsValidationContext { SubjectAlternativeNames ? : SubjectAlternativeNames ; Trust ! : ListenerTlsValidationContextTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TcpTimeout { Idle ? : Duration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Backend { VirtualService ? : VirtualServiceBackend ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTimeout { TCP ? : TcpTimeout ; HTTP2 ? : HttpTimeout ; HTTP ? : HttpTimeout ; GRPC ? : GrpcTimeout ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PortMapping { Port ! : Value < number > ; Protocol ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTls { Validation ? : ListenerTlsValidationContext ; Mode ! : Value < string > ; Certificate ! : ListenerTlsCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsSdsCertificate { SecretName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BackendDefaults { ClientPolicy ? : ClientPolicy ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeTcpConnectionPool { MaxConnections ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpTimeout { PerRequest ? : Duration ; Idle ? : Duration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HealthCheck { Path ? : Value < string > ; UnhealthyThreshold ! : Value < number > ; Port ? : Value < number > ; HealthyThreshold ! : Value < number > ; TimeoutMillis ! : Value < number > ; Protocol ! : Value < string > ; IntervalMillis ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AwsCloudMapServiceDiscovery { NamespaceName ! : Value < string > ; ServiceName ! : Value < string > ; Attributes ? : List < AwsCloudMapInstanceAttribute > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeHttpConnectionPool { MaxConnections ! : Value < number > ; MaxPendingRequests ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsFileCertificate { PrivateKey ! : Value < string > ; CertificateChain ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TlsValidationContext { SubjectAlternativeNames ? : SubjectAlternativeNames ; Trust ! : TlsValidationContextTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeSpec { Logging ? : Logging ; Backends ? : List < Backend > ; Listeners ? : List < Listener > ; BackendDefaults ? : BackendDefaults ; ServiceDiscovery ? : ServiceDiscovery ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Listener { ConnectionPool ? : VirtualNodeConnectionPool ; Timeout ? : ListenerTimeout ; HealthCheck ? : HealthCheck ; TLS ? : ListenerTls ; PortMapping ! : PortMapping ; OutlierDetection ? : OutlierDetection ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DnsServiceDiscovery { Hostname ! : Value < string > ; ResponseType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TlsValidationContextFileTrust { CertificateChain ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcTimeout { PerRequest ? : Duration ; Idle ? : Duration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeConnectionPool { TCP ? : VirtualNodeTcpConnectionPool ; HTTP2 ? : VirtualNodeHttp2ConnectionPool ; HTTP ? : VirtualNodeHttpConnectionPool ; GRPC ? : VirtualNodeGrpcConnectionPool ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Logging { AccessLog ? : AccessLog ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServiceDiscovery { DNS ? : DnsServiceDiscovery ; AWSCloudMap ? : AwsCloudMapServiceDiscovery ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Duration { Value ! : Value < number > ; Unit ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TlsValidationContextTrust { SDS ? : TlsValidationContextSdsTrust ; ACM ? : TlsValidationContextAcmTrust ; File ? : TlsValidationContextFileTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsAcmCertificate { CertificateArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeHttp2ConnectionPool { MaxRequests ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsCertificate { SDS ? : ListenerTlsSdsCertificate ; ACM ? : ListenerTlsAcmCertificate ; File ? : ListenerTlsFileCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualServiceBackend { ClientPolicy ? : ClientPolicy ; VirtualServiceName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutlierDetection { MaxEjectionPercent ! : Value < number > ; BaseEjectionDuration ! : Duration ; MaxServerErrors ! : Value < number > ; Interval ! : Duration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TlsValidationContextAcmTrust { CertificateAuthorityArns ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ClientPolicy { TLS ? : ClientPolicyTls ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ClientTlsCertificate { SDS ? : ListenerTlsSdsCertificate ; File ? : ListenerTlsFileCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ListenerTlsValidationContextTrust { SDS ? : TlsValidationContextSdsTrust ; File ? : TlsValidationContextFileTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AccessLog { File ? : FileAccessLog ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SubjectAlternativeNameMatchers { Exact ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SubjectAlternativeNames { Match ! : SubjectAlternativeNameMatchers ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualNodeGrpcConnectionPool { MaxRequests ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface VirtualNodeProperties { MeshName : Value < string > ; MeshOwner ? : Value < string > ; Spec : VirtualNodeSpec ; VirtualNodeName ? : Value < string > ; Tags ? : List < ResourceTag > ; } export default class VirtualNode extends ResourceBase < VirtualNodeProperties > { static TlsValidationContextSdsTrust = TlsValidationContextSdsTrust ; static ClientPolicyTls = ClientPolicyTls ; static FileAccessLog = FileAccessLog ; static AwsCloudMapInstanceAttribute = AwsCloudMapInstanceAttribute ; static ListenerTlsValidationContext = ListenerTlsValidationContext ; static TcpTimeout = TcpTimeout ; static Backend = Backend ; static ListenerTimeout = ListenerTimeout ; static PortMapping = PortMapping ; static ListenerTls = ListenerTls ; static ListenerTlsSdsCertificate = ListenerTlsSdsCertificate ; static BackendDefaults = BackendDefaults ; static VirtualNodeTcpConnectionPool = VirtualNodeTcpConnectionPool ; static HttpTimeout = HttpTimeout ; static HealthCheck = HealthCheck ; static AwsCloudMapServiceDiscovery = AwsCloudMapServiceDiscovery ; static VirtualNodeHttpConnectionPool = VirtualNodeHttpConnectionPool ; static ListenerTlsFileCertificate = ListenerTlsFileCertificate ; static TlsValidationContext = TlsValidationContext ; static VirtualNodeSpec = VirtualNodeSpec ; static Listener = Listener ; static DnsServiceDiscovery = DnsServiceDiscovery ; static TlsValidationContextFileTrust = TlsValidationContextFileTrust ; static GrpcTimeout = GrpcTimeout ; static VirtualNodeConnectionPool = VirtualNodeConnectionPool ; static Logging = Logging ; static ServiceDiscovery = ServiceDiscovery ; static Duration = Duration ; static TlsValidationContextTrust = TlsValidationContextTrust ; static ListenerTlsAcmCertificate = ListenerTlsAcmCertificate ; static VirtualNodeHttp2ConnectionPool = VirtualNodeHttp2ConnectionPool ; static ListenerTlsCertificate = ListenerTlsCertificate ; static VirtualServiceBackend = VirtualServiceBackend ; static OutlierDetection = OutlierDetection ; static TlsValidationContextAcmTrust = TlsValidationContextAcmTrust ; static ClientPolicy = ClientPolicy ; static ClientTlsCertificate = ClientTlsCertificate ; static ListenerTlsValidationContextTrust = ListenerTlsValidationContextTrust ; static AccessLog = AccessLog ; static SubjectAlternativeNameMatchers = SubjectAlternativeNameMatchers ; static SubjectAlternativeNames = SubjectAlternativeNames ; static VirtualNodeGrpcConnectionPool = VirtualNodeGrpcConnectionPool ; constructor ( properties ) { super ( 'AWS::AppMesh::VirtualNode' , properties ) ; } }