import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class VirtualGatewayTlsValidationContextTrust { SDS ? : VirtualGatewayTlsValidationContextSdsTrust ; ACM ? : VirtualGatewayTlsValidationContextAcmTrust ; File ? : VirtualGatewayTlsValidationContextFileTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsAcmCertificate { CertificateArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayTlsValidationContextFileTrust { CertificateChain ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayHttp2ConnectionPool { MaxRequests ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewaySpec { Logging ? : VirtualGatewayLogging ; Listeners ! : List < VirtualGatewayListener > ; BackendDefaults ? : VirtualGatewayBackendDefaults ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayTlsValidationContext { SubjectAlternativeNames ? : SubjectAlternativeNames ; Trust ! : VirtualGatewayTlsValidationContextTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsCertificate { SDS ? : VirtualGatewayListenerTlsSdsCertificate ; ACM ? : VirtualGatewayListenerTlsAcmCertificate ; File ? : VirtualGatewayListenerTlsFileCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayGrpcConnectionPool { MaxRequests ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayConnectionPool { HTTP2 ? : VirtualGatewayHttp2ConnectionPool ; HTTP ? : VirtualGatewayHttpConnectionPool ; GRPC ? : VirtualGatewayGrpcConnectionPool ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SubjectAlternativeNames { Match ! : SubjectAlternativeNameMatchers ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayClientTlsCertificate { SDS ? : VirtualGatewayListenerTlsSdsCertificate ; File ? : VirtualGatewayListenerTlsFileCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsValidationContext { SubjectAlternativeNames ? : SubjectAlternativeNames ; Trust ! : VirtualGatewayListenerTlsValidationContextTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsFileCertificate { PrivateKey ! : Value < string > ; CertificateChain ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayLogging { AccessLog ? : VirtualGatewayAccessLog ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTls { Validation ? : VirtualGatewayListenerTlsValidationContext ; Mode ! : Value < string > ; Certificate ! : VirtualGatewayListenerTlsCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SubjectAlternativeNameMatchers { Exact ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayClientPolicy { TLS ? : VirtualGatewayClientPolicyTls ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayTlsValidationContextSdsTrust { SecretName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListener { ConnectionPool ? : VirtualGatewayConnectionPool ; HealthCheck ? : VirtualGatewayHealthCheckPolicy ; TLS ? : VirtualGatewayListenerTls ; PortMapping ! : VirtualGatewayPortMapping ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayPortMapping { Port ! : Value < number > ; Protocol ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayBackendDefaults { ClientPolicy ? : VirtualGatewayClientPolicy ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayClientPolicyTls { Validation ! : VirtualGatewayTlsValidationContext ; Enforce ? : Value < boolean > ; Ports ? : List < Value < number > > ; Certificate ? : VirtualGatewayClientTlsCertificate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayAccessLog { File ? : VirtualGatewayFileAccessLog ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayFileAccessLog { Path ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayHttpConnectionPool { MaxConnections ! : Value < number > ; MaxPendingRequests ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayHealthCheckPolicy { 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 VirtualGatewayTlsValidationContextAcmTrust { CertificateAuthorityArns ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsValidationContextTrust { SDS ? : VirtualGatewayTlsValidationContextSdsTrust ; File ? : VirtualGatewayTlsValidationContextFileTrust ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VirtualGatewayListenerTlsSdsCertificate { SecretName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface VirtualGatewayProperties { VirtualGatewayName ? : Value < string > ; MeshName : Value < string > ; MeshOwner ? : Value < string > ; Spec : VirtualGatewaySpec ; Tags ? : List < ResourceTag > ; } export default class VirtualGateway extends ResourceBase < VirtualGatewayProperties > { static VirtualGatewayTlsValidationContextTrust = VirtualGatewayTlsValidationContextTrust ; static VirtualGatewayListenerTlsAcmCertificate = VirtualGatewayListenerTlsAcmCertificate ; static VirtualGatewayTlsValidationContextFileTrust = VirtualGatewayTlsValidationContextFileTrust ; static VirtualGatewayHttp2ConnectionPool = VirtualGatewayHttp2ConnectionPool ; static VirtualGatewaySpec = VirtualGatewaySpec ; static VirtualGatewayTlsValidationContext = VirtualGatewayTlsValidationContext ; static VirtualGatewayListenerTlsCertificate = VirtualGatewayListenerTlsCertificate ; static VirtualGatewayGrpcConnectionPool = VirtualGatewayGrpcConnectionPool ; static VirtualGatewayConnectionPool = VirtualGatewayConnectionPool ; static SubjectAlternativeNames = SubjectAlternativeNames ; static VirtualGatewayClientTlsCertificate = VirtualGatewayClientTlsCertificate ; static VirtualGatewayListenerTlsValidationContext = VirtualGatewayListenerTlsValidationContext ; static VirtualGatewayListenerTlsFileCertificate = VirtualGatewayListenerTlsFileCertificate ; static VirtualGatewayLogging = VirtualGatewayLogging ; static VirtualGatewayListenerTls = VirtualGatewayListenerTls ; static SubjectAlternativeNameMatchers = SubjectAlternativeNameMatchers ; static VirtualGatewayClientPolicy = VirtualGatewayClientPolicy ; static VirtualGatewayTlsValidationContextSdsTrust = VirtualGatewayTlsValidationContextSdsTrust ; static VirtualGatewayListener = VirtualGatewayListener ; static VirtualGatewayPortMapping = VirtualGatewayPortMapping ; static VirtualGatewayBackendDefaults = VirtualGatewayBackendDefaults ; static VirtualGatewayClientPolicyTls = VirtualGatewayClientPolicyTls ; static VirtualGatewayAccessLog = VirtualGatewayAccessLog ; static VirtualGatewayFileAccessLog = VirtualGatewayFileAccessLog ; static VirtualGatewayHttpConnectionPool = VirtualGatewayHttpConnectionPool ; static VirtualGatewayHealthCheckPolicy = VirtualGatewayHealthCheckPolicy ; static VirtualGatewayTlsValidationContextAcmTrust = VirtualGatewayTlsValidationContextAcmTrust ; static VirtualGatewayListenerTlsValidationContextTrust = VirtualGatewayListenerTlsValidationContextTrust ; static VirtualGatewayListenerTlsSdsCertificate = VirtualGatewayListenerTlsSdsCertificate ; constructor ( properties ) { super ( 'AWS::AppMesh::VirtualGateway' , properties ) ; } }