awsappmesh

package
v1.145.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnGatewayRoute_CFN_RESOURCE_TYPE_NAME

func CfnGatewayRoute_CFN_RESOURCE_TYPE_NAME() *string

func CfnGatewayRoute_IsCfnElement

func CfnGatewayRoute_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnGatewayRoute_IsCfnResource

func CfnGatewayRoute_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnGatewayRoute_IsConstruct

func CfnGatewayRoute_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnMesh_CFN_RESOURCE_TYPE_NAME

func CfnMesh_CFN_RESOURCE_TYPE_NAME() *string

func CfnMesh_IsCfnElement

func CfnMesh_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnMesh_IsCfnResource

func CfnMesh_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnMesh_IsConstruct

func CfnMesh_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnRoute_CFN_RESOURCE_TYPE_NAME

func CfnRoute_CFN_RESOURCE_TYPE_NAME() *string

func CfnRoute_IsCfnElement

func CfnRoute_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnRoute_IsCfnResource

func CfnRoute_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnRoute_IsConstruct

func CfnRoute_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnVirtualGateway_CFN_RESOURCE_TYPE_NAME

func CfnVirtualGateway_CFN_RESOURCE_TYPE_NAME() *string

func CfnVirtualGateway_IsCfnElement

func CfnVirtualGateway_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVirtualGateway_IsCfnResource

func CfnVirtualGateway_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVirtualGateway_IsConstruct

func CfnVirtualGateway_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnVirtualNode_CFN_RESOURCE_TYPE_NAME

func CfnVirtualNode_CFN_RESOURCE_TYPE_NAME() *string

func CfnVirtualNode_IsCfnElement

func CfnVirtualNode_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVirtualNode_IsCfnResource

func CfnVirtualNode_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVirtualNode_IsConstruct

func CfnVirtualNode_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnVirtualRouter_CFN_RESOURCE_TYPE_NAME

func CfnVirtualRouter_CFN_RESOURCE_TYPE_NAME() *string

func CfnVirtualRouter_IsCfnElement

func CfnVirtualRouter_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVirtualRouter_IsCfnResource

func CfnVirtualRouter_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVirtualRouter_IsConstruct

func CfnVirtualRouter_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnVirtualService_CFN_RESOURCE_TYPE_NAME

func CfnVirtualService_CFN_RESOURCE_TYPE_NAME() *string

func CfnVirtualService_IsCfnElement

func CfnVirtualService_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVirtualService_IsCfnResource

func CfnVirtualService_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVirtualService_IsConstruct

func CfnVirtualService_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func GatewayRoute_IsConstruct

func GatewayRoute_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func GatewayRoute_IsResource

func GatewayRoute_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Mesh_IsConstruct

func Mesh_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Mesh_IsResource

func Mesh_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewAccessLog_Override

func NewAccessLog_Override(a AccessLog)

Experimental.

func NewBackend_Override

func NewBackend_Override(b Backend)

Experimental.

func NewCfnGatewayRoute_Override

func NewCfnGatewayRoute_Override(c CfnGatewayRoute, scope awscdk.Construct, id *string, props *CfnGatewayRouteProps)

Create a new `AWS::AppMesh::GatewayRoute`.

func NewCfnMesh_Override

func NewCfnMesh_Override(c CfnMesh, scope awscdk.Construct, id *string, props *CfnMeshProps)

Create a new `AWS::AppMesh::Mesh`.

func NewCfnRoute_Override

func NewCfnRoute_Override(c CfnRoute, scope awscdk.Construct, id *string, props *CfnRouteProps)

Create a new `AWS::AppMesh::Route`.

func NewCfnVirtualGateway_Override

func NewCfnVirtualGateway_Override(c CfnVirtualGateway, scope awscdk.Construct, id *string, props *CfnVirtualGatewayProps)

Create a new `AWS::AppMesh::VirtualGateway`.

func NewCfnVirtualNode_Override

func NewCfnVirtualNode_Override(c CfnVirtualNode, scope awscdk.Construct, id *string, props *CfnVirtualNodeProps)

Create a new `AWS::AppMesh::VirtualNode`.

func NewCfnVirtualRouter_Override

func NewCfnVirtualRouter_Override(c CfnVirtualRouter, scope awscdk.Construct, id *string, props *CfnVirtualRouterProps)

Create a new `AWS::AppMesh::VirtualRouter`.

func NewCfnVirtualService_Override

func NewCfnVirtualService_Override(c CfnVirtualService, scope awscdk.Construct, id *string, props *CfnVirtualServiceProps)

Create a new `AWS::AppMesh::VirtualService`.

func NewGatewayRouteHostnameMatch_Override

func NewGatewayRouteHostnameMatch_Override(g GatewayRouteHostnameMatch)

Experimental.

func NewGatewayRouteSpec_Override

func NewGatewayRouteSpec_Override(g GatewayRouteSpec)

Experimental.

func NewGatewayRoute_Override

func NewGatewayRoute_Override(g GatewayRoute, scope constructs.Construct, id *string, props *GatewayRouteProps)

Experimental.

func NewHeaderMatch_Override

func NewHeaderMatch_Override(h HeaderMatch)

Experimental.

func NewHealthCheck_Override

func NewHealthCheck_Override(h HealthCheck)

Experimental.

func NewHttpGatewayRoutePathMatch_Override

func NewHttpGatewayRoutePathMatch_Override(h HttpGatewayRoutePathMatch)

Experimental.

func NewHttpRoutePathMatch_Override

func NewHttpRoutePathMatch_Override(h HttpRoutePathMatch)

Experimental.

func NewMesh_Override

func NewMesh_Override(m Mesh, scope constructs.Construct, id *string, props *MeshProps)

Experimental.

func NewMutualTlsCertificate_Override

func NewMutualTlsCertificate_Override(m MutualTlsCertificate)

Experimental.

func NewMutualTlsValidationTrust_Override

func NewMutualTlsValidationTrust_Override(m MutualTlsValidationTrust)

Experimental.

func NewQueryParameterMatch_Override

func NewQueryParameterMatch_Override(q QueryParameterMatch)

Experimental.

func NewRouteSpec_Override

func NewRouteSpec_Override(r RouteSpec)

Experimental.

func NewRoute_Override

func NewRoute_Override(r Route, scope constructs.Construct, id *string, props *RouteProps)

Experimental.

func NewServiceDiscovery_Override

func NewServiceDiscovery_Override(s ServiceDiscovery)

Experimental.

func NewSubjectAlternativeNames_Override

func NewSubjectAlternativeNames_Override(s SubjectAlternativeNames)

Experimental.

func NewTlsCertificate_Override

func NewTlsCertificate_Override(t TlsCertificate)

Experimental.

func NewTlsValidationTrust_Override

func NewTlsValidationTrust_Override(t TlsValidationTrust)

Experimental.

func NewVirtualGatewayListener_Override

func NewVirtualGatewayListener_Override(v VirtualGatewayListener)

Experimental.

func NewVirtualGateway_Override

func NewVirtualGateway_Override(v VirtualGateway, scope constructs.Construct, id *string, props *VirtualGatewayProps)

Experimental.

func NewVirtualNodeListener_Override

func NewVirtualNodeListener_Override(v VirtualNodeListener)

Experimental.

func NewVirtualNode_Override

func NewVirtualNode_Override(v VirtualNode, scope constructs.Construct, id *string, props *VirtualNodeProps)

Experimental.

func NewVirtualRouterListener_Override

func NewVirtualRouterListener_Override(v VirtualRouterListener)

Experimental.

func NewVirtualRouter_Override

func NewVirtualRouter_Override(v VirtualRouter, scope constructs.Construct, id *string, props *VirtualRouterProps)

Experimental.

func NewVirtualServiceProvider_Override

func NewVirtualServiceProvider_Override(v VirtualServiceProvider)

Experimental.

func NewVirtualService_Override

func NewVirtualService_Override(v VirtualService, scope constructs.Construct, id *string, props *VirtualServiceProps)

Experimental.

func Route_IsConstruct

func Route_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Route_IsResource

func Route_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func VirtualGateway_IsConstruct

func VirtualGateway_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func VirtualGateway_IsResource

func VirtualGateway_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func VirtualNode_IsConstruct

func VirtualNode_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func VirtualNode_IsResource

func VirtualNode_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func VirtualRouter_IsConstruct

func VirtualRouter_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func VirtualRouter_IsResource

func VirtualRouter_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func VirtualService_IsConstruct

func VirtualService_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func VirtualService_IsResource

func VirtualService_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

Types

type AccessLog

type AccessLog interface {
	Bind(scope awscdk.Construct) *AccessLogConfig
}

Configuration for Envoy Access logs for mesh endpoints.

TODO: EXAMPLE

Experimental.

func AccessLog_FromFilePath

func AccessLog_FromFilePath(filePath *string) AccessLog

Path to a file to write access logs to. Experimental.

type AccessLogConfig

type AccessLogConfig struct {
	// VirtualGateway CFN configuration for Access Logging.
	// Experimental.
	VirtualGatewayAccessLog *CfnVirtualGateway_VirtualGatewayAccessLogProperty `json:"virtualGatewayAccessLog" yaml:"virtualGatewayAccessLog"`
	// VirtualNode CFN configuration for Access Logging.
	// Experimental.
	VirtualNodeAccessLog *CfnVirtualNode_AccessLogProperty `json:"virtualNodeAccessLog" yaml:"virtualNodeAccessLog"`
}

All Properties for Envoy Access logs for mesh endpoints.

TODO: EXAMPLE

Experimental.

type Backend

type Backend interface {
	Bind(_scope awscdk.Construct) *BackendConfig
}

Contains static factory methods to create backends.

TODO: EXAMPLE

Experimental.

func Backend_VirtualService

func Backend_VirtualService(virtualService IVirtualService, props *VirtualServiceBackendOptions) Backend

Construct a Virtual Service backend. Experimental.

type BackendConfig

type BackendConfig struct {
	// Config for a Virtual Service backend.
	// Experimental.
	VirtualServiceBackend *CfnVirtualNode_BackendProperty `json:"virtualServiceBackend" yaml:"virtualServiceBackend"`
}

Properties for a backend.

TODO: EXAMPLE

Experimental.

type BackendDefaults

type BackendDefaults struct {
	// TLS properties for Client policy for backend defaults.
	// Experimental.
	TlsClientPolicy *TlsClientPolicy `json:"tlsClientPolicy" yaml:"tlsClientPolicy"`
}

Represents the properties needed to define backend defaults.

TODO: EXAMPLE

Experimental.

type CfnGatewayRoute

type CfnGatewayRoute interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrGatewayRouteName() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	AttrVirtualGatewayName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	GatewayRouteName() *string
	SetGatewayRouteName(val *string)
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualGatewayName() *string
	SetVirtualGatewayName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::GatewayRoute`.

Creates a gateway route.

A gateway route is attached to a virtual gateway and routes traffic to an existing virtual service. If a route matches a request, it can distribute traffic to a target virtual service.

For more information about gateway routes, see [Gateway routes](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html) .

TODO: EXAMPLE

func NewCfnGatewayRoute

func NewCfnGatewayRoute(scope awscdk.Construct, id *string, props *CfnGatewayRouteProps) CfnGatewayRoute

Create a new `AWS::AppMesh::GatewayRoute`.

type CfnGatewayRouteProps

type CfnGatewayRouteProps struct {
	// The name of the service mesh that the resource resides in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The specifications of the gateway route.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The virtual gateway that the gateway route is associated with.
	VirtualGatewayName *string `json:"virtualGatewayName" yaml:"virtualGatewayName"`
	// The name of the gateway route.
	GatewayRouteName *string `json:"gatewayRouteName" yaml:"gatewayRouteName"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// Optional metadata that you can apply to the gateway route to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnGatewayRoute`.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteHostnameMatchProperty

type CfnGatewayRoute_GatewayRouteHostnameMatchProperty struct {
	// The exact host name to match on.
	Exact *string `json:"exact" yaml:"exact"`
	// The specified ending characters of the host name to match on.
	Suffix *string `json:"suffix" yaml:"suffix"`
}

An object representing the gateway route host name to match.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteHostnameRewriteProperty

type CfnGatewayRoute_GatewayRouteHostnameRewriteProperty struct {
	// The default target host name to write to.
	DefaultTargetHostname *string `json:"defaultTargetHostname" yaml:"defaultTargetHostname"`
}

An object representing the gateway route host name to rewrite.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteMetadataMatchProperty

type CfnGatewayRoute_GatewayRouteMetadataMatchProperty struct {
	// The exact method header to be matched on.
	Exact *string `json:"exact" yaml:"exact"`
	// The specified beginning characters of the method header to be matched on.
	Prefix *string `json:"prefix" yaml:"prefix"`
	// An object that represents the range of values to match on.
	Range interface{} `json:"range" yaml:"range"`
	// The regex used to match the method header.
	Regex *string `json:"regex" yaml:"regex"`
	// The specified ending characters of the method header to match on.
	Suffix *string `json:"suffix" yaml:"suffix"`
}

An object representing the method header to be matched.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteRangeMatchProperty

type CfnGatewayRoute_GatewayRouteRangeMatchProperty struct {
	// The end of the range.
	End *float64 `json:"end" yaml:"end"`
	// The start of the range.
	Start *float64 `json:"start" yaml:"start"`
}

An object that represents the range of values to match on.

The first character of the range is included in the range, though the last character is not. For example, if the range specified were 1-100, only values 1-99 would be matched.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteSpecProperty

type CfnGatewayRoute_GatewayRouteSpecProperty struct {
	// An object that represents the specification of a gRPC gateway route.
	GrpcRoute interface{} `json:"grpcRoute" yaml:"grpcRoute"`
	// An object that represents the specification of an HTTP/2 gateway route.
	Http2Route interface{} `json:"http2Route" yaml:"http2Route"`
	// An object that represents the specification of an HTTP gateway route.
	HttpRoute interface{} `json:"httpRoute" yaml:"httpRoute"`
	// The ordering of the gateway routes spec.
	Priority *float64 `json:"priority" yaml:"priority"`
}

An object that represents a gateway route specification.

Specify one gateway route type.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteTargetProperty

type CfnGatewayRoute_GatewayRouteTargetProperty struct {
	// An object that represents a virtual service gateway route target.
	VirtualService interface{} `json:"virtualService" yaml:"virtualService"`
}

An object that represents a gateway route target.

TODO: EXAMPLE

type CfnGatewayRoute_GatewayRouteVirtualServiceProperty

type CfnGatewayRoute_GatewayRouteVirtualServiceProperty struct {
	// The name of the virtual service that traffic is routed to.
	VirtualServiceName *string `json:"virtualServiceName" yaml:"virtualServiceName"`
}

An object that represents the virtual service that traffic is routed to.

TODO: EXAMPLE

type CfnGatewayRoute_GrpcGatewayRouteActionProperty

type CfnGatewayRoute_GrpcGatewayRouteActionProperty struct {
	// An object that represents the target that traffic is routed to when a request matches the gateway route.
	Target interface{} `json:"target" yaml:"target"`
	// The gateway route action to rewrite.
	Rewrite interface{} `json:"rewrite" yaml:"rewrite"`
}

An object that represents the action to take if a match is determined.

TODO: EXAMPLE

type CfnGatewayRoute_GrpcGatewayRouteMatchProperty

type CfnGatewayRoute_GrpcGatewayRouteMatchProperty struct {
	// The gateway route host name to be matched on.
	Hostname interface{} `json:"hostname" yaml:"hostname"`
	// The gateway route metadata to be matched on.
	Metadata interface{} `json:"metadata" yaml:"metadata"`
	// The fully qualified domain name for the service to match from the request.
	ServiceName *string `json:"serviceName" yaml:"serviceName"`
}

An object that represents the criteria for determining a request match.

TODO: EXAMPLE

type CfnGatewayRoute_GrpcGatewayRouteMetadataProperty

type CfnGatewayRoute_GrpcGatewayRouteMetadataProperty struct {
	// A name for the gateway route metadata.
	Name *string `json:"name" yaml:"name"`
	// Specify `True` to match anything except the match criteria.
	//
	// The default value is `False` .
	Invert interface{} `json:"invert" yaml:"invert"`
	// The criteria for determining a metadata match.
	Match interface{} `json:"match" yaml:"match"`
}

An object representing the metadata of the gateway route.

TODO: EXAMPLE

type CfnGatewayRoute_GrpcGatewayRouteProperty

type CfnGatewayRoute_GrpcGatewayRouteProperty struct {
	// An object that represents the action to take if a match is determined.
	Action interface{} `json:"action" yaml:"action"`
	// An object that represents the criteria for determining a request match.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents a gRPC gateway route.

TODO: EXAMPLE

type CfnGatewayRoute_GrpcGatewayRouteRewriteProperty

type CfnGatewayRoute_GrpcGatewayRouteRewriteProperty struct {
	// The host name of the gateway route to rewrite.
	Hostname interface{} `json:"hostname" yaml:"hostname"`
}

An object that represents the gateway route to rewrite.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteActionProperty

type CfnGatewayRoute_HttpGatewayRouteActionProperty struct {
	// An object that represents the target that traffic is routed to when a request matches the gateway route.
	Target interface{} `json:"target" yaml:"target"`
	// The gateway route action to rewrite.
	Rewrite interface{} `json:"rewrite" yaml:"rewrite"`
}

An object that represents the action to take if a match is determined.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteHeaderMatchProperty

type CfnGatewayRoute_HttpGatewayRouteHeaderMatchProperty struct {
	// The value sent by the client must match the specified value exactly.
	Exact *string `json:"exact" yaml:"exact"`
	// The value sent by the client must begin with the specified characters.
	Prefix *string `json:"prefix" yaml:"prefix"`
	// An object that represents the range of values to match on.
	Range interface{} `json:"range" yaml:"range"`
	// The value sent by the client must include the specified characters.
	Regex *string `json:"regex" yaml:"regex"`
	// The value sent by the client must end with the specified characters.
	Suffix *string `json:"suffix" yaml:"suffix"`
}

An object that represents the method and value to match with the header value sent in a request.

Specify one match method.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteHeaderProperty

type CfnGatewayRoute_HttpGatewayRouteHeaderProperty struct {
	// A name for the HTTP header in the gateway route that will be matched on.
	Name *string `json:"name" yaml:"name"`
	// Specify `True` to match anything except the match criteria.
	//
	// The default value is `False` .
	Invert interface{} `json:"invert" yaml:"invert"`
	// An object that represents the method and value to match with the header value sent in a request.
	//
	// Specify one match method.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the HTTP header in the gateway route.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteMatchProperty

type CfnGatewayRoute_HttpGatewayRouteMatchProperty struct {
	// The client request headers to match on.
	Headers interface{} `json:"headers" yaml:"headers"`
	// The host name to match on.
	Hostname interface{} `json:"hostname" yaml:"hostname"`
	// The method to match on.
	Method *string `json:"method" yaml:"method"`
	// The path to match on.
	Path interface{} `json:"path" yaml:"path"`
	// Specifies the path to match requests with.
	//
	// This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .
	Prefix *string `json:"prefix" yaml:"prefix"`
	// The query parameter to match on.
	QueryParameters interface{} `json:"queryParameters" yaml:"queryParameters"`
}

An object that represents the criteria for determining a request match.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRoutePathRewriteProperty

type CfnGatewayRoute_HttpGatewayRoutePathRewriteProperty struct {
	// The exact path to rewrite.
	Exact *string `json:"exact" yaml:"exact"`
}

An object that represents the path to rewrite.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRoutePrefixRewriteProperty

type CfnGatewayRoute_HttpGatewayRoutePrefixRewriteProperty struct {
	// The default prefix used to replace the incoming route prefix when rewritten.
	DefaultPrefix *string `json:"defaultPrefix" yaml:"defaultPrefix"`
	// The value used to replace the incoming route prefix when rewritten.
	Value *string `json:"value" yaml:"value"`
}

An object representing the beginning characters of the route to rewrite.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteProperty

type CfnGatewayRoute_HttpGatewayRouteProperty struct {
	// An object that represents the action to take if a match is determined.
	Action interface{} `json:"action" yaml:"action"`
	// An object that represents the criteria for determining a request match.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents an HTTP gateway route.

TODO: EXAMPLE

type CfnGatewayRoute_HttpGatewayRouteRewriteProperty

type CfnGatewayRoute_HttpGatewayRouteRewriteProperty struct {
	// The host name to rewrite.
	Hostname interface{} `json:"hostname" yaml:"hostname"`
	// The path to rewrite.
	Path interface{} `json:"path" yaml:"path"`
	// The specified beginning characters to rewrite.
	Prefix interface{} `json:"prefix" yaml:"prefix"`
}

An object representing the gateway route to rewrite.

TODO: EXAMPLE

type CfnGatewayRoute_HttpPathMatchProperty

type CfnGatewayRoute_HttpPathMatchProperty struct {
	// The exact path to match on.
	Exact *string `json:"exact" yaml:"exact"`
	// The regex used to match the path.
	Regex *string `json:"regex" yaml:"regex"`
}

An object representing the path to match in the request.

TODO: EXAMPLE

type CfnGatewayRoute_HttpQueryParameterMatchProperty

type CfnGatewayRoute_HttpQueryParameterMatchProperty struct {
	// The exact query parameter to match on.
	Exact *string `json:"exact" yaml:"exact"`
}

An object representing the query parameter to match.

TODO: EXAMPLE

type CfnGatewayRoute_QueryParameterProperty

type CfnGatewayRoute_QueryParameterProperty struct {
	// A name for the query parameter that will be matched on.
	Name *string `json:"name" yaml:"name"`
	// The query parameter to match on.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the query parameter in the request.

TODO: EXAMPLE

type CfnMesh

type CfnMesh interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::Mesh`.

Creates a service mesh.

A service mesh is a logical boundary for network traffic between services that are represented by resources within the mesh. After you create your service mesh, you can create virtual services, virtual nodes, virtual routers, and routes to distribute traffic between the applications in your mesh.

For more information about service meshes, see [Service meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html) .

TODO: EXAMPLE

func NewCfnMesh

func NewCfnMesh(scope awscdk.Construct, id *string, props *CfnMeshProps) CfnMesh

Create a new `AWS::AppMesh::Mesh`.

type CfnMeshProps

type CfnMeshProps struct {
	// The name to use for the service mesh.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The service mesh specification to apply.
	Spec interface{} `json:"spec" yaml:"spec"`
	// Optional metadata that you can apply to the service mesh to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnMesh`.

TODO: EXAMPLE

type CfnMesh_EgressFilterProperty

type CfnMesh_EgressFilterProperty struct {
	// The egress filter type.
	//
	// By default, the type is `DROP_ALL` , which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to `*.amazonaws.com` for AWS API calls). You can set the egress filter type to `ALLOW_ALL` to allow egress to any endpoint inside or outside of the service mesh.
	Type *string `json:"type" yaml:"type"`
}

An object that represents the egress filter rules for a service mesh.

TODO: EXAMPLE

type CfnMesh_MeshSpecProperty

type CfnMesh_MeshSpecProperty struct {
	// The egress filter rules for the service mesh.
	EgressFilter interface{} `json:"egressFilter" yaml:"egressFilter"`
}

An object that represents the specification of a service mesh.

TODO: EXAMPLE

type CfnRoute

type CfnRoute interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrRouteName() *string
	AttrUid() *string
	AttrVirtualRouterName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	RouteName() *string
	SetRouteName(val *string)
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualRouterName() *string
	SetVirtualRouterName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::Route`.

Creates a route that is associated with a virtual router.

You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.

For more information about routes, see [Routes](https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html) .

TODO: EXAMPLE

func NewCfnRoute

func NewCfnRoute(scope awscdk.Construct, id *string, props *CfnRouteProps) CfnRoute

Create a new `AWS::AppMesh::Route`.

type CfnRouteProps

type CfnRouteProps struct {
	// The name of the service mesh to create the route in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The route specification to apply.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The name of the virtual router in which to create the route.
	//
	// If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// The name to use for the route.
	RouteName *string `json:"routeName" yaml:"routeName"`
	// Optional metadata that you can apply to the route to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnRoute`.

TODO: EXAMPLE

type CfnRoute_DurationProperty

type CfnRoute_DurationProperty struct {
	// A unit of time.
	Unit *string `json:"unit" yaml:"unit"`
	// A number of time units.
	Value *float64 `json:"value" yaml:"value"`
}

An object that represents a duration of time.

TODO: EXAMPLE

type CfnRoute_GrpcRetryPolicyProperty

type CfnRoute_GrpcRetryPolicyProperty struct {
	// The maximum number of retry attempts.
	MaxRetries *float64 `json:"maxRetries" yaml:"maxRetries"`
	// The timeout for each retry attempt.
	PerRetryTimeout interface{} `json:"perRetryTimeout" yaml:"perRetryTimeout"`
	// Specify at least one of the valid values.
	GrpcRetryEvents *[]*string `json:"grpcRetryEvents" yaml:"grpcRetryEvents"`
	// Specify at least one of the following values.
	//
	// - *server-error* – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
	// - *gateway-error* – HTTP status codes 502, 503, and 504
	// - *client-error* – HTTP status code 409
	// - *stream-error* – Retry on refused stream
	HttpRetryEvents *[]*string `json:"httpRetryEvents" yaml:"httpRetryEvents"`
	// Specify a valid value.
	//
	// The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
	TcpRetryEvents *[]*string `json:"tcpRetryEvents" yaml:"tcpRetryEvents"`
}

An object that represents a retry policy.

Specify at least one value for at least one of the types of `RetryEvents` , a value for `maxRetries` , and a value for `perRetryTimeout` . Both `server-error` and `gateway-error` under `httpRetryEvents` include the Envoy `reset` policy. For more information on the `reset` policy, see the [Envoy documentation](https://docs.aws.amazon.com/https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) .

TODO: EXAMPLE

type CfnRoute_GrpcRouteActionProperty

type CfnRoute_GrpcRouteActionProperty struct {
	// An object that represents the targets that traffic is routed to when a request matches the route.
	WeightedTargets interface{} `json:"weightedTargets" yaml:"weightedTargets"`
}

An object that represents the action to take if a match is determined.

TODO: EXAMPLE

type CfnRoute_GrpcRouteMatchProperty

type CfnRoute_GrpcRouteMatchProperty struct {
	// An object that represents the data to match from the request.
	Metadata interface{} `json:"metadata" yaml:"metadata"`
	// The method name to match from the request.
	//
	// If you specify a name, you must also specify a `serviceName` .
	MethodName *string `json:"methodName" yaml:"methodName"`
	// The fully qualified domain name for the service to match from the request.
	ServiceName *string `json:"serviceName" yaml:"serviceName"`
}

An object that represents the criteria for determining a request match.

TODO: EXAMPLE

type CfnRoute_GrpcRouteMetadataMatchMethodProperty

type CfnRoute_GrpcRouteMetadataMatchMethodProperty struct {
	// The value sent by the client must match the specified value exactly.
	Exact *string `json:"exact" yaml:"exact"`
	// The value sent by the client must begin with the specified characters.
	Prefix *string `json:"prefix" yaml:"prefix"`
	// An object that represents the range of values to match on.
	Range interface{} `json:"range" yaml:"range"`
	// The value sent by the client must include the specified characters.
	Regex *string `json:"regex" yaml:"regex"`
	// The value sent by the client must end with the specified characters.
	Suffix *string `json:"suffix" yaml:"suffix"`
}

An object that represents the match method.

Specify one of the match values.

TODO: EXAMPLE

type CfnRoute_GrpcRouteMetadataProperty

type CfnRoute_GrpcRouteMetadataProperty struct {
	// The name of the route.
	Name *string `json:"name" yaml:"name"`
	// Specify `True` to match anything except the match criteria.
	//
	// The default value is `False` .
	Invert interface{} `json:"invert" yaml:"invert"`
	// An object that represents the data to match from the request.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the match metadata for the route.

TODO: EXAMPLE

type CfnRoute_GrpcRouteProperty

type CfnRoute_GrpcRouteProperty struct {
	// An object that represents the action to take if a match is determined.
	Action interface{} `json:"action" yaml:"action"`
	// An object that represents the criteria for determining a request match.
	Match interface{} `json:"match" yaml:"match"`
	// An object that represents a retry policy.
	RetryPolicy interface{} `json:"retryPolicy" yaml:"retryPolicy"`
	// An object that represents types of timeouts.
	Timeout interface{} `json:"timeout" yaml:"timeout"`
}

An object that represents a gRPC route type.

TODO: EXAMPLE

type CfnRoute_GrpcTimeoutProperty

type CfnRoute_GrpcTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
	// An object that represents a per request timeout.
	//
	// The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
	PerRequest interface{} `json:"perRequest" yaml:"perRequest"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnRoute_HeaderMatchMethodProperty

type CfnRoute_HeaderMatchMethodProperty struct {
	// The value sent by the client must match the specified value exactly.
	Exact *string `json:"exact" yaml:"exact"`
	// The value sent by the client must begin with the specified characters.
	Prefix *string `json:"prefix" yaml:"prefix"`
	// An object that represents the range of values to match on.
	Range interface{} `json:"range" yaml:"range"`
	// The value sent by the client must include the specified characters.
	Regex *string `json:"regex" yaml:"regex"`
	// The value sent by the client must end with the specified characters.
	Suffix *string `json:"suffix" yaml:"suffix"`
}

An object that represents the method and value to match with the header value sent in a request.

Specify one match method.

TODO: EXAMPLE

type CfnRoute_HttpPathMatchProperty

type CfnRoute_HttpPathMatchProperty struct {
	// The exact path to match on.
	Exact *string `json:"exact" yaml:"exact"`
	// The regex used to match the path.
	Regex *string `json:"regex" yaml:"regex"`
}

An object representing the path to match in the request.

TODO: EXAMPLE

type CfnRoute_HttpQueryParameterMatchProperty

type CfnRoute_HttpQueryParameterMatchProperty struct {
	// The exact query parameter to match on.
	Exact *string `json:"exact" yaml:"exact"`
}

An object representing the query parameter to match.

TODO: EXAMPLE

type CfnRoute_HttpRetryPolicyProperty

type CfnRoute_HttpRetryPolicyProperty struct {
	// The maximum number of retry attempts.
	MaxRetries *float64 `json:"maxRetries" yaml:"maxRetries"`
	// The timeout for each retry attempt.
	PerRetryTimeout interface{} `json:"perRetryTimeout" yaml:"perRetryTimeout"`
	// Specify at least one of the following values.
	//
	// - *server-error* – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
	// - *gateway-error* – HTTP status codes 502, 503, and 504
	// - *client-error* – HTTP status code 409
	// - *stream-error* – Retry on refused stream
	HttpRetryEvents *[]*string `json:"httpRetryEvents" yaml:"httpRetryEvents"`
	// Specify a valid value.
	//
	// The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
	TcpRetryEvents *[]*string `json:"tcpRetryEvents" yaml:"tcpRetryEvents"`
}

An object that represents a retry policy.

Specify at least one value for at least one of the types of `RetryEvents` , a value for `maxRetries` , and a value for `perRetryTimeout` . Both `server-error` and `gateway-error` under `httpRetryEvents` include the Envoy `reset` policy. For more information on the `reset` policy, see the [Envoy documentation](https://docs.aws.amazon.com/https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) .

TODO: EXAMPLE

type CfnRoute_HttpRouteActionProperty

type CfnRoute_HttpRouteActionProperty struct {
	// An object that represents the targets that traffic is routed to when a request matches the route.
	WeightedTargets interface{} `json:"weightedTargets" yaml:"weightedTargets"`
}

An object that represents the action to take if a match is determined.

TODO: EXAMPLE

type CfnRoute_HttpRouteHeaderProperty

type CfnRoute_HttpRouteHeaderProperty struct {
	// A name for the HTTP header in the client request that will be matched on.
	Name *string `json:"name" yaml:"name"`
	// Specify `True` to match anything except the match criteria.
	//
	// The default value is `False` .
	Invert interface{} `json:"invert" yaml:"invert"`
	// The `HeaderMatchMethod` object.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the HTTP header in the request.

TODO: EXAMPLE

type CfnRoute_HttpRouteMatchProperty

type CfnRoute_HttpRouteMatchProperty struct {
	// The client request headers to match on.
	Headers interface{} `json:"headers" yaml:"headers"`
	// The client request method to match on.
	//
	// Specify only one.
	Method *string `json:"method" yaml:"method"`
	// The client request path to match on.
	Path interface{} `json:"path" yaml:"path"`
	// Specifies the path to match requests with.
	//
	// This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .
	Prefix *string `json:"prefix" yaml:"prefix"`
	// The client request query parameters to match on.
	QueryParameters interface{} `json:"queryParameters" yaml:"queryParameters"`
	// The client request scheme to match on.
	//
	// Specify only one. Applicable only for HTTP2 routes.
	Scheme *string `json:"scheme" yaml:"scheme"`
}

An object that represents the requirements for a route to match HTTP requests for a virtual router.

TODO: EXAMPLE

type CfnRoute_HttpRouteProperty

type CfnRoute_HttpRouteProperty struct {
	// An object that represents the action to take if a match is determined.
	Action interface{} `json:"action" yaml:"action"`
	// An object that represents the criteria for determining a request match.
	Match interface{} `json:"match" yaml:"match"`
	// An object that represents a retry policy.
	RetryPolicy interface{} `json:"retryPolicy" yaml:"retryPolicy"`
	// An object that represents types of timeouts.
	Timeout interface{} `json:"timeout" yaml:"timeout"`
}

An object that represents an HTTP or HTTP/2 route type.

TODO: EXAMPLE

type CfnRoute_HttpTimeoutProperty

type CfnRoute_HttpTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
	// An object that represents a per request timeout.
	//
	// The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
	PerRequest interface{} `json:"perRequest" yaml:"perRequest"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnRoute_MatchRangeProperty

type CfnRoute_MatchRangeProperty struct {
	// The end of the range.
	End *float64 `json:"end" yaml:"end"`
	// The start of the range.
	Start *float64 `json:"start" yaml:"start"`
}

An object that represents the range of values to match on.

The first character of the range is included in the range, though the last character is not. For example, if the range specified were 1-100, only values 1-99 would be matched.

TODO: EXAMPLE

type CfnRoute_QueryParameterProperty

type CfnRoute_QueryParameterProperty struct {
	// A name for the query parameter that will be matched on.
	Name *string `json:"name" yaml:"name"`
	// The query parameter to match on.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the query parameter in the request.

TODO: EXAMPLE

type CfnRoute_RouteSpecProperty

type CfnRoute_RouteSpecProperty struct {
	// An object that represents the specification of a gRPC route.
	GrpcRoute interface{} `json:"grpcRoute" yaml:"grpcRoute"`
	// An object that represents the specification of an HTTP/2 route.
	Http2Route interface{} `json:"http2Route" yaml:"http2Route"`
	// An object that represents the specification of an HTTP route.
	HttpRoute interface{} `json:"httpRoute" yaml:"httpRoute"`
	// The priority for the route.
	//
	// Routes are matched based on the specified value, where 0 is the highest priority.
	Priority *float64 `json:"priority" yaml:"priority"`
	// An object that represents the specification of a TCP route.
	TcpRoute interface{} `json:"tcpRoute" yaml:"tcpRoute"`
}

An object that represents a route specification.

Specify one route type.

TODO: EXAMPLE

type CfnRoute_TcpRouteActionProperty

type CfnRoute_TcpRouteActionProperty struct {
	// An object that represents the targets that traffic is routed to when a request matches the route.
	WeightedTargets interface{} `json:"weightedTargets" yaml:"weightedTargets"`
}

An object that represents the action to take if a match is determined.

TODO: EXAMPLE

type CfnRoute_TcpRouteProperty

type CfnRoute_TcpRouteProperty struct {
	// The action to take if a match is determined.
	Action interface{} `json:"action" yaml:"action"`
	// An object that represents types of timeouts.
	Timeout interface{} `json:"timeout" yaml:"timeout"`
}

An object that represents a TCP route type.

TODO: EXAMPLE

type CfnRoute_TcpTimeoutProperty

type CfnRoute_TcpTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnRoute_WeightedTargetProperty

type CfnRoute_WeightedTargetProperty struct {
	// The virtual node to associate with the weighted target.
	VirtualNode *string `json:"virtualNode" yaml:"virtualNode"`
	// The relative weight of the weighted target.
	Weight *float64 `json:"weight" yaml:"weight"`
}

An object that represents a target and its relative weight.

Traffic is distributed across targets according to their relative weight. For example, a weighted target with a relative weight of 50 receives five times as much traffic as one with a relative weight of 10. The total weight for all targets combined must be less than or equal to 100.

TODO: EXAMPLE

type CfnVirtualGateway

type CfnVirtualGateway interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	AttrVirtualGatewayName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualGatewayName() *string
	SetVirtualGatewayName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::VirtualGateway`.

Creates a virtual gateway.

A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.

For more information about virtual gateways, see [Virtual gateways](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html) .

TODO: EXAMPLE

func NewCfnVirtualGateway

func NewCfnVirtualGateway(scope awscdk.Construct, id *string, props *CfnVirtualGatewayProps) CfnVirtualGateway

Create a new `AWS::AppMesh::VirtualGateway`.

type CfnVirtualGatewayProps

type CfnVirtualGatewayProps struct {
	// The name of the service mesh that the virtual gateway resides in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The specifications of the virtual gateway.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// Optional metadata that you can apply to the virtual gateway to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// The name of the virtual gateway.
	VirtualGatewayName *string `json:"virtualGatewayName" yaml:"virtualGatewayName"`
}

Properties for defining a `CfnVirtualGateway`.

TODO: EXAMPLE

type CfnVirtualGateway_SubjectAlternativeNameMatchersProperty

type CfnVirtualGateway_SubjectAlternativeNameMatchersProperty struct {
	// The values sent must match the specified values exactly.
	Exact *[]*string `json:"exact" yaml:"exact"`
}

An object that represents the methods by which a subject alternative name on a peer Transport Layer Security (TLS) certificate can be matched.

TODO: EXAMPLE

type CfnVirtualGateway_SubjectAlternativeNamesProperty

type CfnVirtualGateway_SubjectAlternativeNamesProperty struct {
	// An object that represents the criteria for determining a SANs match.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the subject alternative names secured by the certificate.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayAccessLogProperty

type CfnVirtualGateway_VirtualGatewayAccessLogProperty struct {
	// The file object to send virtual gateway access logs to.
	File interface{} `json:"file" yaml:"file"`
}

The access log configuration for a virtual gateway.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayBackendDefaultsProperty

type CfnVirtualGateway_VirtualGatewayBackendDefaultsProperty struct {
	// A reference to an object that represents a client policy.
	ClientPolicy interface{} `json:"clientPolicy" yaml:"clientPolicy"`
}

An object that represents the default properties for a backend.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayClientPolicyProperty

type CfnVirtualGateway_VirtualGatewayClientPolicyProperty struct {
	// A reference to an object that represents a Transport Layer Security (TLS) client policy.
	Tls interface{} `json:"tls" yaml:"tls"`
}

An object that represents a client policy.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayClientPolicyTlsProperty

type CfnVirtualGateway_VirtualGatewayClientPolicyTlsProperty struct {
	// A reference to an object that represents a Transport Layer Security (TLS) validation context.
	Validation interface{} `json:"validation" yaml:"validation"`
	// A reference to an object that represents a virtual gateway's client's Transport Layer Security (TLS) certificate.
	Certificate interface{} `json:"certificate" yaml:"certificate"`
	// Whether the policy is enforced.
	//
	// The default is `True` , if a value isn't specified.
	Enforce interface{} `json:"enforce" yaml:"enforce"`
	// One or more ports that the policy is enforced for.
	Ports interface{} `json:"ports" yaml:"ports"`
}

An object that represents a Transport Layer Security (TLS) client policy.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayClientTlsCertificateProperty

type CfnVirtualGateway_VirtualGatewayClientTlsCertificateProperty struct {
	// An object that represents a local file certificate.
	//
	// The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) .
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a virtual gateway's client's Secret Discovery Service certificate.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents the virtual gateway's client's Transport Layer Security (TLS) certificate.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayConnectionPoolProperty struct {
	// An object that represents a type of connection pool.
	Grpc interface{} `json:"grpc" yaml:"grpc"`
	// An object that represents a type of connection pool.
	Http interface{} `json:"http" yaml:"http"`
	// An object that represents a type of connection pool.
	Http2 interface{} `json:"http2" yaml:"http2"`
}

An object that represents the type of virtual gateway connection pool.

Only one protocol is used at a time and should be the same protocol as the one chosen under port mapping.

If not present the default value for `maxPendingRequests` is `2147483647` .

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayFileAccessLogProperty

type CfnVirtualGateway_VirtualGatewayFileAccessLogProperty struct {
	// The file path to write access logs to.
	//
	// You can use `/dev/stdout` to send access logs to standard out and configure your Envoy container to use a log driver, such as `awslogs` , to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.
	Path *string `json:"path" yaml:"path"`
}

An object that represents an access log file.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayGrpcConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayGrpcConnectionPoolProperty struct {
	// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayHealthCheckPolicyProperty

type CfnVirtualGateway_VirtualGatewayHealthCheckPolicyProperty struct {
	// The number of consecutive successful health checks that must occur before declaring the listener healthy.
	HealthyThreshold *float64 `json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time period in milliseconds between each health check execution.
	IntervalMillis *float64 `json:"intervalMillis" yaml:"intervalMillis"`
	// The protocol for the health check request.
	//
	// If you specify `grpc` , then your service must conform to the [GRPC Health Checking Protocol](https://docs.aws.amazon.com/https://github.com/grpc/grpc/blob/master/doc/health-checking.md) .
	Protocol *string `json:"protocol" yaml:"protocol"`
	// The amount of time to wait when receiving a response from the health check, in milliseconds.
	TimeoutMillis *float64 `json:"timeoutMillis" yaml:"timeoutMillis"`
	// The number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
	// The destination path for the health check request.
	//
	// This value is only used if the specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
	Path *string `json:"path" yaml:"path"`
	// The destination port for the health check request.
	//
	// This port must match the port defined in the `PortMapping` for the listener.
	Port *float64 `json:"port" yaml:"port"`
}

An object that represents the health check policy for a virtual gateway's listener.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayHttp2ConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayHttp2ConnectionPoolProperty struct {
	// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayHttpConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayHttpConnectionPoolProperty struct {
	// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.
	MaxConnections *float64 `json:"maxConnections" yaml:"maxConnections"`
	// Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster.
	MaxPendingRequests *float64 `json:"maxPendingRequests" yaml:"maxPendingRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerProperty

type CfnVirtualGateway_VirtualGatewayListenerProperty struct {
	// The port mapping information for the listener.
	PortMapping interface{} `json:"portMapping" yaml:"portMapping"`
	// The connection pool information for the listener.
	ConnectionPool interface{} `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	HealthCheck interface{} `json:"healthCheck" yaml:"healthCheck"`
	// A reference to an object that represents the Transport Layer Security (TLS) properties for the listener.
	Tls interface{} `json:"tls" yaml:"tls"`
}

An object that represents a listener for a virtual gateway.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsAcmCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsAcmCertificateProperty struct {
	// The Amazon Resource Name (ARN) for the certificate.
	//
	// The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites) .
	CertificateArn *string `json:"certificateArn" yaml:"certificateArn"`
}

An object that represents an AWS Certificate Manager certificate.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsCertificateProperty struct {
	// A reference to an object that represents an AWS Certificate Manager certificate.
	Acm interface{} `json:"acm" yaml:"acm"`
	// A reference to an object that represents a local file certificate.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a virtual gateway's listener's Secret Discovery Service certificate.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a listener's Transport Layer Security (TLS) certificate.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsFileCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsFileCertificateProperty struct {
	// The certificate chain for the certificate.
	CertificateChain *string `json:"certificateChain" yaml:"certificateChain"`
	// The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on.
	PrivateKey *string `json:"privateKey" yaml:"privateKey"`
}

An object that represents a local file certificate.

The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites) .

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsProperty struct {
	// An object that represents a Transport Layer Security (TLS) certificate.
	Certificate interface{} `json:"certificate" yaml:"certificate"`
	// Specify one of the following modes.
	//
	// - ** STRICT – Listener only accepts connections with TLS enabled.
	// - ** PERMISSIVE – Listener accepts connections with or without TLS enabled.
	// - ** DISABLED – Listener only accepts connections without TLS.
	Mode *string `json:"mode" yaml:"mode"`
	// A reference to an object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context.
	Validation interface{} `json:"validation" yaml:"validation"`
}

An object that represents the Transport Layer Security (TLS) properties for a listener.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsSdsCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsSdsCertificateProperty struct {
	// A reference to an object that represents the name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.
	SecretName *string `json:"secretName" yaml:"secretName"`
}

An object that represents the virtual gateway's listener's Secret Discovery Service certificate.The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh [TLS documentation](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) for more info.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextProperty struct {
	// A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
	Trust interface{} `json:"trust" yaml:"trust"`
	// A reference to an object that represents the SANs for a virtual gateway listener's Transport Layer Security (TLS) validation context.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

An object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextTrustProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextTrustProperty struct {
	// An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a virtual gateway's listener's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context trust.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayLoggingProperty

type CfnVirtualGateway_VirtualGatewayLoggingProperty struct {
	// The access log configuration.
	AccessLog interface{} `json:"accessLog" yaml:"accessLog"`
}

An object that represents logging information.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayPortMappingProperty

type CfnVirtualGateway_VirtualGatewayPortMappingProperty struct {
	// The port used for the port mapping.
	//
	// Specify one protocol.
	Port *float64 `json:"port" yaml:"port"`
	// The protocol used for the port mapping.
	Protocol *string `json:"protocol" yaml:"protocol"`
}

An object that represents a port mapping.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewaySpecProperty

type CfnVirtualGateway_VirtualGatewaySpecProperty struct {
	// The listeners that the mesh endpoint is expected to receive inbound traffic from.
	//
	// You can specify one listener.
	Listeners interface{} `json:"listeners" yaml:"listeners"`
	// A reference to an object that represents the defaults for backends.
	BackendDefaults interface{} `json:"backendDefaults" yaml:"backendDefaults"`
	// An object that represents logging information.
	Logging interface{} `json:"logging" yaml:"logging"`
}

An object that represents the specification of a service mesh resource.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayTlsValidationContextAcmTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextAcmTrustProperty struct {
	// One or more ACM Amazon Resource Name (ARN)s.
	CertificateAuthorityArns *[]*string `json:"certificateAuthorityArns" yaml:"certificateAuthorityArns"`
}

An object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayTlsValidationContextFileTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextFileTrustProperty struct {
	// The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.
	CertificateChain *string `json:"certificateChain" yaml:"certificateChain"`
}

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayTlsValidationContextProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextProperty struct {
	// A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
	Trust interface{} `json:"trust" yaml:"trust"`
	// A reference to an object that represents the SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

An object that represents a Transport Layer Security (TLS) validation context.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayTlsValidationContextSdsTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextSdsTrustProperty struct {
	// A reference to an object that represents the name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	SecretName *string `json:"secretName" yaml:"secretName"`
}

An object that represents a virtual gateway's listener's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh [TLS documentation](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) for more info.

TODO: EXAMPLE

type CfnVirtualGateway_VirtualGatewayTlsValidationContextTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextTrustProperty struct {
	// A reference to an object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.
	Acm interface{} `json:"acm" yaml:"acm"`
	// An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a Transport Layer Security (TLS) validation context trust.

TODO: EXAMPLE

type CfnVirtualNode

type CfnVirtualNode interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	AttrVirtualNodeName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualNodeName() *string
	SetVirtualNodeName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::VirtualNode`.

Creates a virtual node within a service mesh.

A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS).

You define a `listener` for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is specified as a `backend` .

The response metadata for your new virtual node contains the `arn` that is associated with the virtual node. Set this value to the full ARN; for example, `arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp` ) as the `APPMESH_RESOURCE_ARN` environment variable for your task group's Envoy proxy container in your task definition or pod spec. This is then mapped to the `node.id` and `node.cluster` Envoy parameters.

> By default, App Mesh uses the name of the resource you specified in `APPMESH_RESOURCE_ARN` when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the `APPMESH_RESOURCE_CLUSTER` environment variable with your own name.

For more information about virtual nodes, see [Virtual nodes](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html) . You must be using `1.15.0` or later of the Envoy image when setting these variables. For more information about App Mesh Envoy variables, see [Envoy image](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) in the AWS App Mesh User Guide.

TODO: EXAMPLE

func NewCfnVirtualNode

func NewCfnVirtualNode(scope awscdk.Construct, id *string, props *CfnVirtualNodeProps) CfnVirtualNode

Create a new `AWS::AppMesh::VirtualNode`.

type CfnVirtualNodeProps

type CfnVirtualNodeProps struct {
	// The name of the service mesh to create the virtual node in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The virtual node specification to apply.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// Optional metadata that you can apply to the virtual node to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// The name to use for the virtual node.
	VirtualNodeName *string `json:"virtualNodeName" yaml:"virtualNodeName"`
}

Properties for defining a `CfnVirtualNode`.

TODO: EXAMPLE

type CfnVirtualNode_AccessLogProperty

type CfnVirtualNode_AccessLogProperty struct {
	// The file object to send virtual node access logs to.
	File interface{} `json:"file" yaml:"file"`
}

An object that represents the access logging information for a virtual node.

TODO: EXAMPLE

type CfnVirtualNode_AwsCloudMapInstanceAttributeProperty

type CfnVirtualNode_AwsCloudMapInstanceAttributeProperty struct {
	// The name of an AWS Cloud Map service instance attribute key.
	//
	// Any AWS Cloud Map service instance that contains the specified key and value is returned.
	Key *string `json:"key" yaml:"key"`
	// The value of an AWS Cloud Map service instance attribute key.
	//
	// Any AWS Cloud Map service instance that contains the specified key and value is returned.
	Value *string `json:"value" yaml:"value"`
}

An object that represents the AWS Cloud Map attribute information for your virtual node.

> AWS Cloud Map is not available in the eu-south-1 Region.

TODO: EXAMPLE

type CfnVirtualNode_AwsCloudMapServiceDiscoveryProperty

type CfnVirtualNode_AwsCloudMapServiceDiscoveryProperty struct {
	// The name of the AWS Cloud Map namespace to use.
	NamespaceName *string `json:"namespaceName" yaml:"namespaceName"`
	// The name of the AWS Cloud Map service to use.
	ServiceName *string `json:"serviceName" yaml:"serviceName"`
	// A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance.
	//
	// Only instances that match all of the specified key/value pairs will be returned.
	Attributes interface{} `json:"attributes" yaml:"attributes"`
}

An object that represents the AWS Cloud Map service discovery information for your virtual node.

> AWS Cloud Map is not available in the eu-south-1 Region.

TODO: EXAMPLE

type CfnVirtualNode_BackendDefaultsProperty

type CfnVirtualNode_BackendDefaultsProperty struct {
	// A reference to an object that represents a client policy.
	ClientPolicy interface{} `json:"clientPolicy" yaml:"clientPolicy"`
}

An object that represents the default properties for a backend.

TODO: EXAMPLE

type CfnVirtualNode_BackendProperty

type CfnVirtualNode_BackendProperty struct {
	// Specifies a virtual service to use as a backend.
	VirtualService interface{} `json:"virtualService" yaml:"virtualService"`
}

An object that represents the backends that a virtual node is expected to send outbound traffic to.

TODO: EXAMPLE

type CfnVirtualNode_ClientPolicyProperty

type CfnVirtualNode_ClientPolicyProperty struct {
	// A reference to an object that represents a Transport Layer Security (TLS) client policy.
	Tls interface{} `json:"tls" yaml:"tls"`
}

An object that represents a client policy.

TODO: EXAMPLE

type CfnVirtualNode_ClientPolicyTlsProperty

type CfnVirtualNode_ClientPolicyTlsProperty struct {
	// A reference to an object that represents a TLS validation context.
	Validation interface{} `json:"validation" yaml:"validation"`
	// A reference to an object that represents a client's TLS certificate.
	Certificate interface{} `json:"certificate" yaml:"certificate"`
	// Whether the policy is enforced.
	//
	// The default is `True` , if a value isn't specified.
	Enforce interface{} `json:"enforce" yaml:"enforce"`
	// One or more ports that the policy is enforced for.
	Ports interface{} `json:"ports" yaml:"ports"`
}

A reference to an object that represents a Transport Layer Security (TLS) client policy.

TODO: EXAMPLE

type CfnVirtualNode_ClientTlsCertificateProperty

type CfnVirtualNode_ClientTlsCertificateProperty struct {
	// An object that represents a local file certificate.
	//
	// The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) .
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a client's TLS Secret Discovery Service certificate.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents the client's certificate.

TODO: EXAMPLE

type CfnVirtualNode_DnsServiceDiscoveryProperty

type CfnVirtualNode_DnsServiceDiscoveryProperty struct {
	// Specifies the DNS service discovery hostname for the virtual node.
	Hostname *string `json:"hostname" yaml:"hostname"`
	// Specifies the DNS response type for the virtual node.
	ResponseType *string `json:"responseType" yaml:"responseType"`
}

An object that represents the DNS service discovery information for your virtual node.

TODO: EXAMPLE

type CfnVirtualNode_DurationProperty

type CfnVirtualNode_DurationProperty struct {
	// A unit of time.
	Unit *string `json:"unit" yaml:"unit"`
	// A number of time units.
	Value *float64 `json:"value" yaml:"value"`
}

An object that represents a duration of time.

TODO: EXAMPLE

type CfnVirtualNode_FileAccessLogProperty

type CfnVirtualNode_FileAccessLogProperty struct {
	// The file path to write access logs to.
	//
	// You can use `/dev/stdout` to send access logs to standard out and configure your Envoy container to use a log driver, such as `awslogs` , to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.
	//
	// > The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.
	Path *string `json:"path" yaml:"path"`
}

An object that represents an access log file.

TODO: EXAMPLE

type CfnVirtualNode_GrpcTimeoutProperty

type CfnVirtualNode_GrpcTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
	// An object that represents a per request timeout.
	//
	// The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
	PerRequest interface{} `json:"perRequest" yaml:"perRequest"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnVirtualNode_HealthCheckProperty

type CfnVirtualNode_HealthCheckProperty struct {
	// The number of consecutive successful health checks that must occur before declaring listener healthy.
	HealthyThreshold *float64 `json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time period in milliseconds between each health check execution.
	IntervalMillis *float64 `json:"intervalMillis" yaml:"intervalMillis"`
	// The protocol for the health check request.
	//
	// If you specify `grpc` , then your service must conform to the [GRPC Health Checking Protocol](https://docs.aws.amazon.com/https://github.com/grpc/grpc/blob/master/doc/health-checking.md) .
	Protocol *string `json:"protocol" yaml:"protocol"`
	// The amount of time to wait when receiving a response from the health check, in milliseconds.
	TimeoutMillis *float64 `json:"timeoutMillis" yaml:"timeoutMillis"`
	// The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
	// The destination path for the health check request.
	//
	// This value is only used if the specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
	Path *string `json:"path" yaml:"path"`
	// The destination port for the health check request.
	//
	// This port must match the port defined in the `PortMapping` for the listener.
	Port *float64 `json:"port" yaml:"port"`
}

An object that represents the health check policy for a virtual node's listener.

TODO: EXAMPLE

type CfnVirtualNode_HttpTimeoutProperty

type CfnVirtualNode_HttpTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
	// An object that represents a per request timeout.
	//
	// The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
	PerRequest interface{} `json:"perRequest" yaml:"perRequest"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnVirtualNode_ListenerProperty

type CfnVirtualNode_ListenerProperty struct {
	// The port mapping information for the listener.
	PortMapping interface{} `json:"portMapping" yaml:"portMapping"`
	// The connection pool information for the listener.
	ConnectionPool interface{} `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	HealthCheck interface{} `json:"healthCheck" yaml:"healthCheck"`
	// The outlier detection information for the listener.
	OutlierDetection interface{} `json:"outlierDetection" yaml:"outlierDetection"`
	// An object that represents timeouts for different protocols.
	Timeout interface{} `json:"timeout" yaml:"timeout"`
	// A reference to an object that represents the Transport Layer Security (TLS) properties for a listener.
	Tls interface{} `json:"tls" yaml:"tls"`
}

An object that represents a listener for a virtual node.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTimeoutProperty

type CfnVirtualNode_ListenerTimeoutProperty struct {
	// An object that represents types of timeouts.
	Grpc interface{} `json:"grpc" yaml:"grpc"`
	// An object that represents types of timeouts.
	Http interface{} `json:"http" yaml:"http"`
	// An object that represents types of timeouts.
	Http2 interface{} `json:"http2" yaml:"http2"`
	// An object that represents types of timeouts.
	Tcp interface{} `json:"tcp" yaml:"tcp"`
}

An object that represents timeouts for different protocols.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsAcmCertificateProperty

type CfnVirtualNode_ListenerTlsAcmCertificateProperty struct {
	// The Amazon Resource Name (ARN) for the certificate.
	//
	// The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites) .
	CertificateArn *string `json:"certificateArn" yaml:"certificateArn"`
}

An object that represents an AWS Certificate Manager certificate.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsCertificateProperty

type CfnVirtualNode_ListenerTlsCertificateProperty struct {
	// A reference to an object that represents an AWS Certificate Manager certificate.
	Acm interface{} `json:"acm" yaml:"acm"`
	// A reference to an object that represents a local file certificate.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a listener's Secret Discovery Service certificate.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a listener's Transport Layer Security (TLS) certificate.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsFileCertificateProperty

type CfnVirtualNode_ListenerTlsFileCertificateProperty struct {
	// The certificate chain for the certificate.
	CertificateChain *string `json:"certificateChain" yaml:"certificateChain"`
	// The private key for a certificate stored on the file system of the virtual node that the proxy is running on.
	PrivateKey *string `json:"privateKey" yaml:"privateKey"`
}

An object that represents a local file certificate.

The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see [Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites) .

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsProperty

type CfnVirtualNode_ListenerTlsProperty struct {
	// A reference to an object that represents a listener's Transport Layer Security (TLS) certificate.
	Certificate interface{} `json:"certificate" yaml:"certificate"`
	// Specify one of the following modes.
	//
	// - ** STRICT – Listener only accepts connections with TLS enabled.
	// - ** PERMISSIVE – Listener accepts connections with or without TLS enabled.
	// - ** DISABLED – Listener only accepts connections without TLS.
	Mode *string `json:"mode" yaml:"mode"`
	// A reference to an object that represents a listener's Transport Layer Security (TLS) validation context.
	Validation interface{} `json:"validation" yaml:"validation"`
}

An object that represents the Transport Layer Security (TLS) properties for a listener.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsSdsCertificateProperty

type CfnVirtualNode_ListenerTlsSdsCertificateProperty struct {
	// A reference to an object that represents the name of the secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.
	SecretName *string `json:"secretName" yaml:"secretName"`
}

An object that represents the listener's Secret Discovery Service certificate.

The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh [TLS documentation](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) for more info.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsValidationContextProperty

type CfnVirtualNode_ListenerTlsValidationContextProperty struct {
	// A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
	Trust interface{} `json:"trust" yaml:"trust"`
	// A reference to an object that represents the SANs for a listener's Transport Layer Security (TLS) validation context.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

An object that represents a listener's Transport Layer Security (TLS) validation context.

TODO: EXAMPLE

type CfnVirtualNode_ListenerTlsValidationContextTrustProperty

type CfnVirtualNode_ListenerTlsValidationContextTrustProperty struct {
	// An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a listener's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a listener's Transport Layer Security (TLS) validation context trust.

TODO: EXAMPLE

type CfnVirtualNode_LoggingProperty

type CfnVirtualNode_LoggingProperty struct {
	// The access log configuration for a virtual node.
	AccessLog interface{} `json:"accessLog" yaml:"accessLog"`
}

An object that represents the logging information for a virtual node.

TODO: EXAMPLE

type CfnVirtualNode_OutlierDetectionProperty

type CfnVirtualNode_OutlierDetectionProperty struct {
	// The base amount of time for which a host is ejected.
	BaseEjectionDuration interface{} `json:"baseEjectionDuration" yaml:"baseEjectionDuration"`
	// The time interval between ejection sweep analysis.
	Interval interface{} `json:"interval" yaml:"interval"`
	// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected.
	//
	// Will eject at least one host regardless of the value.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent" yaml:"maxEjectionPercent"`
	// Number of consecutive `5xx` errors required for ejection.
	MaxServerErrors *float64 `json:"maxServerErrors" yaml:"maxServerErrors"`
}

An object that represents the outlier detection for a virtual node's listener.

TODO: EXAMPLE

type CfnVirtualNode_PortMappingProperty

type CfnVirtualNode_PortMappingProperty struct {
	// The port used for the port mapping.
	Port *float64 `json:"port" yaml:"port"`
	// The protocol used for the port mapping.
	//
	// Specify `http` , `http2` , `grpc` , or `tcp` .
	Protocol *string `json:"protocol" yaml:"protocol"`
}

An object representing a virtual node or virtual router listener port mapping.

TODO: EXAMPLE

type CfnVirtualNode_ServiceDiscoveryProperty

type CfnVirtualNode_ServiceDiscoveryProperty struct {
	// Specifies any AWS Cloud Map information for the virtual node.
	AwsCloudMap interface{} `json:"awsCloudMap" yaml:"awsCloudMap"`
	// Specifies the DNS information for the virtual node.
	Dns interface{} `json:"dns" yaml:"dns"`
}

An object that represents the service discovery information for a virtual node.

TODO: EXAMPLE

type CfnVirtualNode_SubjectAlternativeNameMatchersProperty

type CfnVirtualNode_SubjectAlternativeNameMatchersProperty struct {
	// The values sent must match the specified values exactly.
	Exact *[]*string `json:"exact" yaml:"exact"`
}

An object that represents the methods by which a subject alternative name on a peer Transport Layer Security (TLS) certificate can be matched.

TODO: EXAMPLE

type CfnVirtualNode_SubjectAlternativeNamesProperty

type CfnVirtualNode_SubjectAlternativeNamesProperty struct {
	// An object that represents the criteria for determining a SANs match.
	Match interface{} `json:"match" yaml:"match"`
}

An object that represents the subject alternative names secured by the certificate.

TODO: EXAMPLE

type CfnVirtualNode_TcpTimeoutProperty

type CfnVirtualNode_TcpTimeoutProperty struct {
	// An object that represents an idle timeout.
	//
	// An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
	Idle interface{} `json:"idle" yaml:"idle"`
}

An object that represents types of timeouts.

TODO: EXAMPLE

type CfnVirtualNode_TlsValidationContextAcmTrustProperty

type CfnVirtualNode_TlsValidationContextAcmTrustProperty struct {
	// One or more ACM Amazon Resource Name (ARN)s.
	CertificateAuthorityArns *[]*string `json:"certificateAuthorityArns" yaml:"certificateAuthorityArns"`
}

An object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.

TODO: EXAMPLE

type CfnVirtualNode_TlsValidationContextFileTrustProperty

type CfnVirtualNode_TlsValidationContextFileTrustProperty struct {
	// The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.
	CertificateChain *string `json:"certificateChain" yaml:"certificateChain"`
}

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

TODO: EXAMPLE

type CfnVirtualNode_TlsValidationContextProperty

type CfnVirtualNode_TlsValidationContextProperty struct {
	// A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
	Trust interface{} `json:"trust" yaml:"trust"`
	// A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

An object that represents how the proxy will validate its peer during Transport Layer Security (TLS) negotiation.

TODO: EXAMPLE

type CfnVirtualNode_TlsValidationContextSdsTrustProperty

type CfnVirtualNode_TlsValidationContextSdsTrustProperty struct {
	// A reference to an object that represents the name of the secret for a Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	SecretName *string `json:"secretName" yaml:"secretName"`
}

An object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust.

The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh [TLS documentation](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) for more info.

TODO: EXAMPLE

type CfnVirtualNode_TlsValidationContextTrustProperty

type CfnVirtualNode_TlsValidationContextTrustProperty struct {
	// A reference to an object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.
	Acm interface{} `json:"acm" yaml:"acm"`
	// An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
	File interface{} `json:"file" yaml:"file"`
	// A reference to an object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust.
	Sds interface{} `json:"sds" yaml:"sds"`
}

An object that represents a Transport Layer Security (TLS) validation context trust.

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeConnectionPoolProperty

type CfnVirtualNode_VirtualNodeConnectionPoolProperty struct {
	// An object that represents a type of connection pool.
	Grpc interface{} `json:"grpc" yaml:"grpc"`
	// An object that represents a type of connection pool.
	Http interface{} `json:"http" yaml:"http"`
	// An object that represents a type of connection pool.
	Http2 interface{} `json:"http2" yaml:"http2"`
	// An object that represents a type of connection pool.
	Tcp interface{} `json:"tcp" yaml:"tcp"`
}

An object that represents the type of virtual node connection pool.

Only one protocol is used at a time and should be the same protocol as the one chosen under port mapping.

If not present the default value for `maxPendingRequests` is `2147483647` .

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeGrpcConnectionPoolProperty

type CfnVirtualNode_VirtualNodeGrpcConnectionPoolProperty struct {
	// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeHttp2ConnectionPoolProperty

type CfnVirtualNode_VirtualNodeHttp2ConnectionPoolProperty struct {
	// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeHttpConnectionPoolProperty

type CfnVirtualNode_VirtualNodeHttpConnectionPoolProperty struct {
	// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.
	MaxConnections *float64 `json:"maxConnections" yaml:"maxConnections"`
	// Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster.
	MaxPendingRequests *float64 `json:"maxPendingRequests" yaml:"maxPendingRequests"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeSpecProperty

type CfnVirtualNode_VirtualNodeSpecProperty struct {
	// A reference to an object that represents the defaults for backends.
	BackendDefaults interface{} `json:"backendDefaults" yaml:"backendDefaults"`
	// The backends that the virtual node is expected to send outbound traffic to.
	Backends interface{} `json:"backends" yaml:"backends"`
	// The listener that the virtual node is expected to receive inbound traffic from.
	//
	// You can specify one listener.
	Listeners interface{} `json:"listeners" yaml:"listeners"`
	// The inbound and outbound access logging information for the virtual node.
	Logging interface{} `json:"logging" yaml:"logging"`
	// The service discovery information for the virtual node.
	//
	// If your virtual node does not expect ingress traffic, you can omit this parameter. If you specify a `listener` , then you must specify service discovery information.
	ServiceDiscovery interface{} `json:"serviceDiscovery" yaml:"serviceDiscovery"`
}

An object that represents the specification of a virtual node.

TODO: EXAMPLE

type CfnVirtualNode_VirtualNodeTcpConnectionPoolProperty

type CfnVirtualNode_VirtualNodeTcpConnectionPoolProperty struct {
	// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.
	MaxConnections *float64 `json:"maxConnections" yaml:"maxConnections"`
}

An object that represents a type of connection pool.

TODO: EXAMPLE

type CfnVirtualNode_VirtualServiceBackendProperty

type CfnVirtualNode_VirtualServiceBackendProperty struct {
	// The name of the virtual service that is acting as a virtual node backend.
	VirtualServiceName *string `json:"virtualServiceName" yaml:"virtualServiceName"`
	// A reference to an object that represents the client policy for a backend.
	ClientPolicy interface{} `json:"clientPolicy" yaml:"clientPolicy"`
}

An object that represents a virtual service backend for a virtual node.

TODO: EXAMPLE

type CfnVirtualRouter

type CfnVirtualRouter interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	AttrVirtualRouterName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualRouterName() *string
	SetVirtualRouterName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::VirtualRouter`.

Creates a virtual router within a service mesh.

Specify a `listener` for any inbound traffic that your virtual router receives. Create a virtual router for each protocol and port that you need to route. Virtual routers handle traffic for one or more virtual services within your mesh. After you create your virtual router, create and associate routes for your virtual router that direct incoming requests to different virtual nodes.

For more information about virtual routers, see [Virtual routers](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html) .

TODO: EXAMPLE

func NewCfnVirtualRouter

func NewCfnVirtualRouter(scope awscdk.Construct, id *string, props *CfnVirtualRouterProps) CfnVirtualRouter

Create a new `AWS::AppMesh::VirtualRouter`.

type CfnVirtualRouterProps

type CfnVirtualRouterProps struct {
	// The name of the service mesh to create the virtual router in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The virtual router specification to apply.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// Optional metadata that you can apply to the virtual router to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// The name to use for the virtual router.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
}

Properties for defining a `CfnVirtualRouter`.

TODO: EXAMPLE

type CfnVirtualRouter_PortMappingProperty

type CfnVirtualRouter_PortMappingProperty struct {
	// The port used for the port mapping.
	Port *float64 `json:"port" yaml:"port"`
	// The protocol used for the port mapping.
	//
	// Specify one protocol.
	Protocol *string `json:"protocol" yaml:"protocol"`
}

An object representing a virtual router listener port mapping.

TODO: EXAMPLE

type CfnVirtualRouter_VirtualRouterListenerProperty

type CfnVirtualRouter_VirtualRouterListenerProperty struct {
	// The port mapping information for the listener.
	PortMapping interface{} `json:"portMapping" yaml:"portMapping"`
}

An object that represents a virtual router listener.

TODO: EXAMPLE

type CfnVirtualRouter_VirtualRouterSpecProperty

type CfnVirtualRouter_VirtualRouterSpecProperty struct {
	// The listeners that the virtual router is expected to receive inbound traffic from.
	//
	// You can specify one listener.
	Listeners interface{} `json:"listeners" yaml:"listeners"`
}

An object that represents the specification of a virtual router.

TODO: EXAMPLE

type CfnVirtualService

type CfnVirtualService interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrMeshName() *string
	AttrMeshOwner() *string
	AttrResourceOwner() *string
	AttrUid() *string
	AttrVirtualServiceName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	MeshName() *string
	SetMeshName(val *string)
	MeshOwner() *string
	SetMeshOwner(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Spec() interface{}
	SetSpec(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VirtualServiceName() *string
	SetVirtualServiceName(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppMesh::VirtualService`.

Creates a virtual service within a service mesh.

A virtual service is an abstraction of a real service that is provided by a virtual node directly or indirectly by means of a virtual router. Dependent services call your virtual service by its `virtualServiceName` , and those requests are routed to the virtual node or virtual router that is specified as the provider for the virtual service.

For more information about virtual services, see [Virtual services](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html) .

TODO: EXAMPLE

func NewCfnVirtualService

func NewCfnVirtualService(scope awscdk.Construct, id *string, props *CfnVirtualServiceProps) CfnVirtualService

Create a new `AWS::AppMesh::VirtualService`.

type CfnVirtualServiceProps

type CfnVirtualServiceProps struct {
	// The name of the service mesh to create the virtual service in.
	MeshName *string `json:"meshName" yaml:"meshName"`
	// The virtual service specification to apply.
	Spec interface{} `json:"spec" yaml:"spec"`
	// The name to use for the virtual service.
	VirtualServiceName *string `json:"virtualServiceName" yaml:"virtualServiceName"`
	// The AWS IAM account ID of the service mesh owner.
	//
	// If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .
	MeshOwner *string `json:"meshOwner" yaml:"meshOwner"`
	// Optional metadata that you can apply to the virtual service to assist with categorization and organization.
	//
	// Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnVirtualService`.

TODO: EXAMPLE

type CfnVirtualService_VirtualNodeServiceProviderProperty

type CfnVirtualService_VirtualNodeServiceProviderProperty struct {
	// The name of the virtual node that is acting as a service provider.
	VirtualNodeName *string `json:"virtualNodeName" yaml:"virtualNodeName"`
}

An object that represents a virtual node service provider.

TODO: EXAMPLE

type CfnVirtualService_VirtualRouterServiceProviderProperty

type CfnVirtualService_VirtualRouterServiceProviderProperty struct {
	// The name of the virtual router that is acting as a service provider.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
}

An object that represents a virtual node service provider.

TODO: EXAMPLE

type CfnVirtualService_VirtualServiceProviderProperty

type CfnVirtualService_VirtualServiceProviderProperty struct {
	// The virtual node associated with a virtual service.
	VirtualNode interface{} `json:"virtualNode" yaml:"virtualNode"`
	// The virtual router associated with a virtual service.
	VirtualRouter interface{} `json:"virtualRouter" yaml:"virtualRouter"`
}

An object that represents the provider for a virtual service.

TODO: EXAMPLE

type CfnVirtualService_VirtualServiceSpecProperty

type CfnVirtualService_VirtualServiceSpecProperty struct {
	// The App Mesh object that is acting as the provider for a virtual service.
	//
	// You can specify a single virtual node or virtual router.
	Provider interface{} `json:"provider" yaml:"provider"`
}

An object that represents the specification of a virtual service.

TODO: EXAMPLE

type CommonGatewayRouteSpecOptions

type CommonGatewayRouteSpecOptions struct {
	// The priority for the gateway route.
	//
	// When a Virtual Gateway has multiple gateway routes, gateway route match
	// is performed in the order of specified value, where 0 is the highest priority,
	// and first matched gateway route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
}

Base options for all gateway route specs.

TODO: EXAMPLE

Experimental.

type DnsResponseType

type DnsResponseType string

Enum of DNS service discovery response type.

TODO: EXAMPLE

Experimental.

const (
	DnsResponseType_LOAD_BALANCER DnsResponseType = "LOAD_BALANCER"
	DnsResponseType_ENDPOINTS     DnsResponseType = "ENDPOINTS"
)

type GatewayRoute

type GatewayRoute interface {
	awscdk.Resource
	IGatewayRoute
	Env() *awscdk.ResourceEnvironment
	GatewayRouteArn() *string
	GatewayRouteName() *string
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	VirtualGateway() IVirtualGateway
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

GatewayRoute represents a new or existing gateway route attached to a VirtualGateway and Mesh.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html

Experimental.

func NewGatewayRoute

func NewGatewayRoute(scope constructs.Construct, id *string, props *GatewayRouteProps) GatewayRoute

Experimental.

type GatewayRouteAttributes

type GatewayRouteAttributes struct {
	// The name of the GatewayRoute.
	// Experimental.
	GatewayRouteName *string `json:"gatewayRouteName" yaml:"gatewayRouteName"`
	// The VirtualGateway this GatewayRoute is associated with.
	// Experimental.
	VirtualGateway IVirtualGateway `json:"virtualGateway" yaml:"virtualGateway"`
}

Interface with properties necessary to import a reusable GatewayRoute.

TODO: EXAMPLE

Experimental.

type GatewayRouteBaseProps

type GatewayRouteBaseProps struct {
	// What protocol the route uses.
	// Experimental.
	RouteSpec GatewayRouteSpec `json:"routeSpec" yaml:"routeSpec"`
	// The name of the GatewayRoute.
	// Experimental.
	GatewayRouteName *string `json:"gatewayRouteName" yaml:"gatewayRouteName"`
}

Basic configuration properties for a GatewayRoute.

TODO: EXAMPLE

Experimental.

type GatewayRouteHostnameMatch

type GatewayRouteHostnameMatch interface {
	Bind(scope awscdk.Construct) *GatewayRouteHostnameMatchConfig
}

Used to generate host name matching methods.

TODO: EXAMPLE

Experimental.

func GatewayRouteHostnameMatch_EndsWith

func GatewayRouteHostnameMatch_EndsWith(suffix *string) GatewayRouteHostnameMatch

The value of the host name with the given name must end with the specified characters. Experimental.

func GatewayRouteHostnameMatch_Exactly

func GatewayRouteHostnameMatch_Exactly(name *string) GatewayRouteHostnameMatch

The value of the host name must match the specified value exactly. Experimental.

type GatewayRouteHostnameMatchConfig

type GatewayRouteHostnameMatchConfig struct {
	// GatewayRoute CFN configuration for host name match.
	// Experimental.
	HostnameMatch *CfnGatewayRoute_GatewayRouteHostnameMatchProperty `json:"hostnameMatch" yaml:"hostnameMatch"`
}

Configuration for gateway route host name match.

TODO: EXAMPLE

Experimental.

type GatewayRouteProps

type GatewayRouteProps struct {
	// What protocol the route uses.
	// Experimental.
	RouteSpec GatewayRouteSpec `json:"routeSpec" yaml:"routeSpec"`
	// The name of the GatewayRoute.
	// Experimental.
	GatewayRouteName *string `json:"gatewayRouteName" yaml:"gatewayRouteName"`
	// The VirtualGateway this GatewayRoute is associated with.
	// Experimental.
	VirtualGateway IVirtualGateway `json:"virtualGateway" yaml:"virtualGateway"`
}

Properties to define a new GatewayRoute.

TODO: EXAMPLE

Experimental.

type GatewayRouteSpec

type GatewayRouteSpec interface {
	Bind(scope awscdk.Construct) *GatewayRouteSpecConfig
}

Used to generate specs with different protocols for a GatewayRoute.

TODO: EXAMPLE

Experimental.

func GatewayRouteSpec_Grpc

func GatewayRouteSpec_Grpc(options *GrpcGatewayRouteSpecOptions) GatewayRouteSpec

Creates an gRPC Based GatewayRoute. Experimental.

func GatewayRouteSpec_Http

func GatewayRouteSpec_Http(options *HttpGatewayRouteSpecOptions) GatewayRouteSpec

Creates an HTTP Based GatewayRoute. Experimental.

func GatewayRouteSpec_Http2

func GatewayRouteSpec_Http2(options *HttpGatewayRouteSpecOptions) GatewayRouteSpec

Creates an HTTP2 Based GatewayRoute. Experimental.

type GatewayRouteSpecConfig

type GatewayRouteSpecConfig struct {
	// The spec for a grpc gateway route.
	// Experimental.
	GrpcSpecConfig *CfnGatewayRoute_GrpcGatewayRouteProperty `json:"grpcSpecConfig" yaml:"grpcSpecConfig"`
	// The spec for an http2 gateway route.
	// Experimental.
	Http2SpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `json:"http2SpecConfig" yaml:"http2SpecConfig"`
	// The spec for an http gateway route.
	// Experimental.
	HttpSpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `json:"httpSpecConfig" yaml:"httpSpecConfig"`
	// The priority for the gateway route.
	//
	// When a Virtual Gateway has multiple gateway routes, gateway route match
	// is performed in the order of specified value, where 0 is the highest priority,
	// and first matched gateway route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
}

All Properties for GatewayRoute Specs.

TODO: EXAMPLE

Experimental.

type GrpcConnectionPool

type GrpcConnectionPool struct {
	// The maximum requests in the pool.
	// Experimental.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

Connection pool properties for gRPC listeners.

TODO: EXAMPLE

Experimental.

type GrpcGatewayListenerOptions

type GrpcGatewayListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *GrpcConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represents the properties needed to define GRPC Listeners for a VirtualGateway.

TODO: EXAMPLE

Experimental.

type GrpcGatewayRouteMatch

type GrpcGatewayRouteMatch struct {
	// Create host name based gRPC gateway route match.
	// Experimental.
	Hostname GatewayRouteHostnameMatch `json:"hostname" yaml:"hostname"`
	// Create metadata based gRPC gateway route match.
	//
	// All specified metadata must match for the route to match.
	// Experimental.
	Metadata *[]HeaderMatch `json:"metadata" yaml:"metadata"`
	// When `true`, rewrites the original request received at the Virtual Gateway to the destination Virtual Service name.
	//
	// When `false`, retains the original hostname from the request.
	// Experimental.
	RewriteRequestHostname *bool `json:"rewriteRequestHostname" yaml:"rewriteRequestHostname"`
	// Create service name based gRPC gateway route match.
	// Experimental.
	ServiceName *string `json:"serviceName" yaml:"serviceName"`
}

The criterion for determining a request match for this GatewayRoute.

TODO: EXAMPLE

Experimental.

type GrpcGatewayRouteSpecOptions

type GrpcGatewayRouteSpecOptions struct {
	// The priority for the gateway route.
	//
	// When a Virtual Gateway has multiple gateway routes, gateway route match
	// is performed in the order of specified value, where 0 is the highest priority,
	// and first matched gateway route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// The criterion for determining a request match for this GatewayRoute.
	// Experimental.
	Match *GrpcGatewayRouteMatch `json:"match" yaml:"match"`
	// The VirtualService this GatewayRoute directs traffic to.
	// Experimental.
	RouteTarget IVirtualService `json:"routeTarget" yaml:"routeTarget"`
}

Properties specific for a gRPC GatewayRoute.

TODO: EXAMPLE

Experimental.

type GrpcHealthCheckOptions

type GrpcHealthCheckOptions struct {
	// The number of consecutive successful health checks that must occur before declaring listener healthy.
	// Experimental.
	HealthyThreshold *float64 `json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time period between each health check execution.
	// Experimental.
	Interval awscdk.Duration `json:"interval" yaml:"interval"`
	// The amount of time to wait when receiving a response from the health check.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout" yaml:"timeout"`
	// The number of consecutive failed health checks that must occur before declaring a listener unhealthy.
	// Experimental.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
}

Properties used to define GRPC Based healthchecks.

TODO: EXAMPLE

Experimental.

type GrpcRetryEvent

type GrpcRetryEvent string

gRPC events.

TODO: EXAMPLE

Experimental.

const (
	GrpcRetryEvent_CANCELLED          GrpcRetryEvent = "CANCELLED"
	GrpcRetryEvent_DEADLINE_EXCEEDED  GrpcRetryEvent = "DEADLINE_EXCEEDED"
	GrpcRetryEvent_INTERNAL_ERROR     GrpcRetryEvent = "INTERNAL_ERROR"
	GrpcRetryEvent_RESOURCE_EXHAUSTED GrpcRetryEvent = "RESOURCE_EXHAUSTED"
	GrpcRetryEvent_UNAVAILABLE        GrpcRetryEvent = "UNAVAILABLE"
)

type GrpcRetryPolicy

type GrpcRetryPolicy struct {
	// The maximum number of retry attempts.
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts" yaml:"retryAttempts"`
	// The timeout for each retry attempt.
	// Experimental.
	RetryTimeout awscdk.Duration `json:"retryTimeout" yaml:"retryTimeout"`
	// Specify HTTP events on which to retry.
	//
	// You must specify at least one value
	// for at least one types of retry events.
	// Experimental.
	HttpRetryEvents *[]HttpRetryEvent `json:"httpRetryEvents" yaml:"httpRetryEvents"`
	// TCP events on which to retry.
	//
	// The event occurs before any processing of a
	// request has started and is encountered when the upstream is temporarily or
	// permanently unavailable. You must specify at least one value for at least
	// one types of retry events.
	// Experimental.
	TcpRetryEvents *[]TcpRetryEvent `json:"tcpRetryEvents" yaml:"tcpRetryEvents"`
	// gRPC events on which to retry.
	//
	// You must specify at least one value
	// for at least one types of retry events.
	// Experimental.
	GrpcRetryEvents *[]GrpcRetryEvent `json:"grpcRetryEvents" yaml:"grpcRetryEvents"`
}

gRPC retry policy.

TODO: EXAMPLE

Experimental.

type GrpcRouteMatch

type GrpcRouteMatch struct {
	// Create metadata based gRPC route match.
	//
	// All specified metadata must match for the route to match.
	// Experimental.
	Metadata *[]HeaderMatch `json:"metadata" yaml:"metadata"`
	// The method name to match from the request.
	//
	// If the method name is specified, service name must be also provided.
	// Experimental.
	MethodName *string `json:"methodName" yaml:"methodName"`
	// Create service name based gRPC route match.
	// Experimental.
	ServiceName *string `json:"serviceName" yaml:"serviceName"`
}

The criterion for determining a request match for this Route.

At least one match type must be selected.

TODO: EXAMPLE

Experimental.

type GrpcRouteSpecOptions

type GrpcRouteSpecOptions struct {
	// The priority for the route.
	//
	// When a Virtual Router has multiple routes, route match is performed in the
	// order of specified value, where 0 is the highest priority, and first matched route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// The criterion for determining a request match for this Route.
	// Experimental.
	Match *GrpcRouteMatch `json:"match" yaml:"match"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets" yaml:"weightedTargets"`
	// The retry policy.
	// Experimental.
	RetryPolicy *GrpcRetryPolicy `json:"retryPolicy" yaml:"retryPolicy"`
	// An object that represents a grpc timeout.
	// Experimental.
	Timeout *GrpcTimeout `json:"timeout" yaml:"timeout"`
}

Properties specific for a GRPC Based Routes.

TODO: EXAMPLE

Experimental.

type GrpcTimeout

type GrpcTimeout struct {
	// Represents an idle timeout.
	//
	// The amount of time that a connection may be idle.
	// Experimental.
	Idle awscdk.Duration `json:"idle" yaml:"idle"`
	// Represents per request timeout.
	// Experimental.
	PerRequest awscdk.Duration `json:"perRequest" yaml:"perRequest"`
}

Represents timeouts for GRPC protocols.

TODO: EXAMPLE

Experimental.

type GrpcVirtualNodeListenerOptions

type GrpcVirtualNodeListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *GrpcConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection" yaml:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Timeout for GRPC protocol.
	// Experimental.
	Timeout *GrpcTimeout `json:"timeout" yaml:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represent the GRPC Node Listener prorperty.

TODO: EXAMPLE

Experimental.

type HeaderMatch

type HeaderMatch interface {
	Bind(scope awscdk.Construct) *HeaderMatchConfig
}

Used to generate header matching methods.

TODO: EXAMPLE

Experimental.

func HeaderMatch_ValueDoesNotEndWith

func HeaderMatch_ValueDoesNotEndWith(headerName *string, suffix *string) HeaderMatch

The value of the header with the given name in the request must not end with the specified characters. Experimental.

func HeaderMatch_ValueDoesNotMatchRegex

func HeaderMatch_ValueDoesNotMatchRegex(headerName *string, regex *string) HeaderMatch

The value of the header with the given name in the request must not include the specified characters. Experimental.

func HeaderMatch_ValueDoesNotStartWith

func HeaderMatch_ValueDoesNotStartWith(headerName *string, prefix *string) HeaderMatch

The value of the header with the given name in the request must not start with the specified characters. Experimental.

func HeaderMatch_ValueEndsWith

func HeaderMatch_ValueEndsWith(headerName *string, suffix *string) HeaderMatch

The value of the header with the given name in the request must end with the specified characters. Experimental.

func HeaderMatch_ValueIs

func HeaderMatch_ValueIs(headerName *string, headerValue *string) HeaderMatch

The value of the header with the given name in the request must match the specified value exactly. Experimental.

func HeaderMatch_ValueIsNot

func HeaderMatch_ValueIsNot(headerName *string, headerValue *string) HeaderMatch

The value of the header with the given name in the request must not match the specified value exactly. Experimental.

func HeaderMatch_ValueMatchesRegex

func HeaderMatch_ValueMatchesRegex(headerName *string, regex *string) HeaderMatch

The value of the header with the given name in the request must include the specified characters. Experimental.

func HeaderMatch_ValueStartsWith

func HeaderMatch_ValueStartsWith(headerName *string, prefix *string) HeaderMatch

The value of the header with the given name in the request must start with the specified characters. Experimental.

func HeaderMatch_ValuesIsInRange

func HeaderMatch_ValuesIsInRange(headerName *string, start *float64, end *float64) HeaderMatch

The value of the header with the given name in the request must be in a range of values. Experimental.

func HeaderMatch_ValuesIsNotInRange

func HeaderMatch_ValuesIsNotInRange(headerName *string, start *float64, end *float64) HeaderMatch

The value of the header with the given name in the request must not be in a range of values. Experimental.

type HeaderMatchConfig

type HeaderMatchConfig struct {
	// Route CFN configuration for the route header match.
	// Experimental.
	HeaderMatch *CfnRoute_HttpRouteHeaderProperty `json:"headerMatch" yaml:"headerMatch"`
}

Configuration for `HeaderMatch`.

TODO: EXAMPLE

Experimental.

type HealthCheck

type HealthCheck interface {
	Bind(scope awscdk.Construct, options *HealthCheckBindOptions) *HealthCheckConfig
}

Contains static factory methods for creating health checks for different protocols.

TODO: EXAMPLE

Experimental.

func HealthCheck_Grpc

func HealthCheck_Grpc(options *GrpcHealthCheckOptions) HealthCheck

Construct a GRPC health check. Experimental.

func HealthCheck_Http

func HealthCheck_Http(options *HttpHealthCheckOptions) HealthCheck

Construct a HTTP health check. Experimental.

func HealthCheck_Http2

func HealthCheck_Http2(options *HttpHealthCheckOptions) HealthCheck

Construct a HTTP2 health check. Experimental.

func HealthCheck_Tcp

func HealthCheck_Tcp(options *TcpHealthCheckOptions) HealthCheck

Construct a TCP health check. Experimental.

type HealthCheckBindOptions

type HealthCheckBindOptions struct {
	// Port for Health Check interface.
	// Experimental.
	DefaultPort *float64 `json:"defaultPort" yaml:"defaultPort"`
}

Options used for creating the Health Check object.

TODO: EXAMPLE

Experimental.

type HealthCheckConfig

type HealthCheckConfig struct {
	// VirtualGateway CFN configuration for Health Checks.
	// Experimental.
	VirtualGatewayHealthCheck *CfnVirtualGateway_VirtualGatewayHealthCheckPolicyProperty `json:"virtualGatewayHealthCheck" yaml:"virtualGatewayHealthCheck"`
	// VirtualNode CFN configuration for Health Checks.
	// Experimental.
	VirtualNodeHealthCheck *CfnVirtualNode_HealthCheckProperty `json:"virtualNodeHealthCheck" yaml:"virtualNodeHealthCheck"`
}

All Properties for Health Checks for mesh endpoints.

TODO: EXAMPLE

Experimental.

type Http2ConnectionPool

type Http2ConnectionPool struct {
	// The maximum requests in the pool.
	// Experimental.
	MaxRequests *float64 `json:"maxRequests" yaml:"maxRequests"`
}

Connection pool properties for HTTP2 listeners.

TODO: EXAMPLE

Experimental.

type Http2GatewayListenerOptions

type Http2GatewayListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *Http2ConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represents the properties needed to define HTTP2 Listeners for a VirtualGateway.

TODO: EXAMPLE

Experimental.

type Http2VirtualNodeListenerOptions

type Http2VirtualNodeListenerOptions struct {
	// Connection pool for http2 listeners.
	// Experimental.
	ConnectionPool *Http2ConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection" yaml:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Timeout for HTTP protocol.
	// Experimental.
	Timeout *HttpTimeout `json:"timeout" yaml:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represent the HTTP2 Node Listener prorperty.

TODO: EXAMPLE

Experimental.

type HttpConnectionPool

type HttpConnectionPool struct {
	// The maximum connections in the pool.
	// Experimental.
	MaxConnections *float64 `json:"maxConnections" yaml:"maxConnections"`
	// The maximum pending requests in the pool.
	// Experimental.
	MaxPendingRequests *float64 `json:"maxPendingRequests" yaml:"maxPendingRequests"`
}

Connection pool properties for HTTP listeners.

TODO: EXAMPLE

Experimental.

type HttpGatewayListenerOptions

type HttpGatewayListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *HttpConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represents the properties needed to define HTTP Listeners for a VirtualGateway.

TODO: EXAMPLE

Experimental.

type HttpGatewayRouteMatch

type HttpGatewayRouteMatch struct {
	// Specifies the client request headers to match on.
	//
	// All specified headers
	// must match for the gateway route to match.
	// Experimental.
	Headers *[]HeaderMatch `json:"headers" yaml:"headers"`
	// The gateway route host name to be matched on.
	// Experimental.
	Hostname GatewayRouteHostnameMatch `json:"hostname" yaml:"hostname"`
	// The method to match on.
	// Experimental.
	Method HttpRouteMethod `json:"method" yaml:"method"`
	// Specify how to match requests based on the 'path' part of their URL.
	// Experimental.
	Path HttpGatewayRoutePathMatch `json:"path" yaml:"path"`
	// The query parameters to match on.
	//
	// All specified query parameters must match for the route to match.
	// Experimental.
	QueryParameters *[]QueryParameterMatch `json:"queryParameters" yaml:"queryParameters"`
	// When `true`, rewrites the original request received at the Virtual Gateway to the destination Virtual Service name.
	//
	// When `false`, retains the original hostname from the request.
	// Experimental.
	RewriteRequestHostname *bool `json:"rewriteRequestHostname" yaml:"rewriteRequestHostname"`
}

The criterion for determining a request match for this GatewayRoute.

TODO: EXAMPLE

Experimental.

type HttpGatewayRoutePathMatch

type HttpGatewayRoutePathMatch interface {
	Bind(scope awscdk.Construct) *HttpGatewayRoutePathMatchConfig
}

Defines HTTP gateway route matching based on the URL path of the request.

TODO: EXAMPLE

Experimental.

func HttpGatewayRoutePathMatch_Exactly

func HttpGatewayRoutePathMatch_Exactly(path *string, rewriteTo *string) HttpGatewayRoutePathMatch

The value of the path must match the specified value exactly.

The provided `path` must start with the '/' character. Experimental.

func HttpGatewayRoutePathMatch_Regex

func HttpGatewayRoutePathMatch_Regex(regex *string, rewriteTo *string) HttpGatewayRoutePathMatch

The value of the path must match the specified regex. Experimental.

func HttpGatewayRoutePathMatch_StartsWith

func HttpGatewayRoutePathMatch_StartsWith(prefix *string, rewriteTo *string) HttpGatewayRoutePathMatch

The value of the path must match the specified prefix. Experimental.

type HttpGatewayRoutePathMatchConfig

type HttpGatewayRoutePathMatchConfig struct {
	// Gateway route configuration for matching on the prefix of the URL path of the request.
	// Experimental.
	PrefixPathMatch *string `json:"prefixPathMatch" yaml:"prefixPathMatch"`
	// Gateway route configuration for rewriting the prefix of the URL path of the request.
	// Experimental.
	PrefixPathRewrite *CfnGatewayRoute_HttpGatewayRoutePrefixRewriteProperty `json:"prefixPathRewrite" yaml:"prefixPathRewrite"`
	// Gateway route configuration for matching on the complete URL path of the request.
	// Experimental.
	WholePathMatch *CfnGatewayRoute_HttpPathMatchProperty `json:"wholePathMatch" yaml:"wholePathMatch"`
	// Gateway route configuration for rewriting the complete URL path of the request..
	// Experimental.
	WholePathRewrite *CfnGatewayRoute_HttpGatewayRoutePathRewriteProperty `json:"wholePathRewrite" yaml:"wholePathRewrite"`
}

The type returned from the `bind()` method in {@link HttpGatewayRoutePathMatch}.

TODO: EXAMPLE

Experimental.

type HttpGatewayRouteSpecOptions

type HttpGatewayRouteSpecOptions struct {
	// The priority for the gateway route.
	//
	// When a Virtual Gateway has multiple gateway routes, gateway route match
	// is performed in the order of specified value, where 0 is the highest priority,
	// and first matched gateway route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// The VirtualService this GatewayRoute directs traffic to.
	// Experimental.
	RouteTarget IVirtualService `json:"routeTarget" yaml:"routeTarget"`
	// The criterion for determining a request match for this GatewayRoute.
	//
	// When path match is defined, this may optionally determine the path rewrite configuration.
	// Experimental.
	Match *HttpGatewayRouteMatch `json:"match" yaml:"match"`
}

Properties specific for HTTP Based GatewayRoutes.

TODO: EXAMPLE

Experimental.

type HttpHealthCheckOptions

type HttpHealthCheckOptions struct {
	// The number of consecutive successful health checks that must occur before declaring listener healthy.
	// Experimental.
	HealthyThreshold *float64 `json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time period between each health check execution.
	// Experimental.
	Interval awscdk.Duration `json:"interval" yaml:"interval"`
	// The destination path for the health check request.
	// Experimental.
	Path *string `json:"path" yaml:"path"`
	// The amount of time to wait when receiving a response from the health check.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout" yaml:"timeout"`
	// The number of consecutive failed health checks that must occur before declaring a listener unhealthy.
	// Experimental.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
}

Properties used to define HTTP Based healthchecks.

TODO: EXAMPLE

Experimental.

type HttpRetryEvent

type HttpRetryEvent string

HTTP events on which to retry.

TODO: EXAMPLE

Experimental.

const (
	HttpRetryEvent_SERVER_ERROR  HttpRetryEvent = "SERVER_ERROR"
	HttpRetryEvent_GATEWAY_ERROR HttpRetryEvent = "GATEWAY_ERROR"
	HttpRetryEvent_CLIENT_ERROR  HttpRetryEvent = "CLIENT_ERROR"
	HttpRetryEvent_STREAM_ERROR  HttpRetryEvent = "STREAM_ERROR"
)

type HttpRetryPolicy

type HttpRetryPolicy struct {
	// The maximum number of retry attempts.
	// Experimental.
	RetryAttempts *float64 `json:"retryAttempts" yaml:"retryAttempts"`
	// The timeout for each retry attempt.
	// Experimental.
	RetryTimeout awscdk.Duration `json:"retryTimeout" yaml:"retryTimeout"`
	// Specify HTTP events on which to retry.
	//
	// You must specify at least one value
	// for at least one types of retry events.
	// Experimental.
	HttpRetryEvents *[]HttpRetryEvent `json:"httpRetryEvents" yaml:"httpRetryEvents"`
	// TCP events on which to retry.
	//
	// The event occurs before any processing of a
	// request has started and is encountered when the upstream is temporarily or
	// permanently unavailable. You must specify at least one value for at least
	// one types of retry events.
	// Experimental.
	TcpRetryEvents *[]TcpRetryEvent `json:"tcpRetryEvents" yaml:"tcpRetryEvents"`
}

HTTP retry policy.

TODO: EXAMPLE

Experimental.

type HttpRouteMatch

type HttpRouteMatch struct {
	// Specifies the client request headers to match on.
	//
	// All specified headers
	// must match for the route to match.
	// Experimental.
	Headers *[]HeaderMatch `json:"headers" yaml:"headers"`
	// The HTTP client request method to match on.
	// Experimental.
	Method HttpRouteMethod `json:"method" yaml:"method"`
	// Specifies how is the request matched based on the path part of its URL.
	// Experimental.
	Path HttpRoutePathMatch `json:"path" yaml:"path"`
	// The client request protocol to match on.
	//
	// Applicable only for HTTP2 routes.
	// Experimental.
	Protocol HttpRouteProtocol `json:"protocol" yaml:"protocol"`
	// The query parameters to match on.
	//
	// All specified query parameters must match for the route to match.
	// Experimental.
	QueryParameters *[]QueryParameterMatch `json:"queryParameters" yaml:"queryParameters"`
}

The criterion for determining a request match for this Route.

TODO: EXAMPLE

Experimental.

type HttpRouteMethod

type HttpRouteMethod string

Supported values for matching routes based on the HTTP request method.

TODO: EXAMPLE

Experimental.

const (
	HttpRouteMethod_GET     HttpRouteMethod = "GET"
	HttpRouteMethod_HEAD    HttpRouteMethod = "HEAD"
	HttpRouteMethod_POST    HttpRouteMethod = "POST"
	HttpRouteMethod_PUT     HttpRouteMethod = "PUT"
	HttpRouteMethod_DELETE  HttpRouteMethod = "DELETE"
	HttpRouteMethod_CONNECT HttpRouteMethod = "CONNECT"
	HttpRouteMethod_OPTIONS HttpRouteMethod = "OPTIONS"
	HttpRouteMethod_TRACE   HttpRouteMethod = "TRACE"
	HttpRouteMethod_PATCH   HttpRouteMethod = "PATCH"
)

type HttpRoutePathMatch

type HttpRoutePathMatch interface {
	Bind(scope awscdk.Construct) *HttpRoutePathMatchConfig
}

Defines HTTP route matching based on the URL path of the request.

TODO: EXAMPLE

Experimental.

func HttpRoutePathMatch_Exactly

func HttpRoutePathMatch_Exactly(path *string) HttpRoutePathMatch

The value of the path must match the specified value exactly.

The provided `path` must start with the '/' character. Experimental.

func HttpRoutePathMatch_Regex

func HttpRoutePathMatch_Regex(regex *string) HttpRoutePathMatch

The value of the path must match the specified regex. Experimental.

func HttpRoutePathMatch_StartsWith

func HttpRoutePathMatch_StartsWith(prefix *string) HttpRoutePathMatch

The value of the path must match the specified prefix. Experimental.

type HttpRoutePathMatchConfig

type HttpRoutePathMatchConfig struct {
	// Route configuration for matching on the prefix of the URL path of the request.
	// Experimental.
	PrefixPathMatch *string `json:"prefixPathMatch" yaml:"prefixPathMatch"`
	// Route configuration for matching on the complete URL path of the request.
	// Experimental.
	WholePathMatch *CfnRoute_HttpPathMatchProperty `json:"wholePathMatch" yaml:"wholePathMatch"`
}

The type returned from the `bind()` method in {@link HttpRoutePathMatch}.

TODO: EXAMPLE

Experimental.

type HttpRouteProtocol

type HttpRouteProtocol string

Supported :scheme options for HTTP2.

TODO: EXAMPLE

Experimental.

const (
	HttpRouteProtocol_HTTP  HttpRouteProtocol = "HTTP"
	HttpRouteProtocol_HTTPS HttpRouteProtocol = "HTTPS"
)

type HttpRouteSpecOptions

type HttpRouteSpecOptions struct {
	// The priority for the route.
	//
	// When a Virtual Router has multiple routes, route match is performed in the
	// order of specified value, where 0 is the highest priority, and first matched route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets" yaml:"weightedTargets"`
	// The criterion for determining a request match for this Route.
	// Experimental.
	Match *HttpRouteMatch `json:"match" yaml:"match"`
	// The retry policy.
	// Experimental.
	RetryPolicy *HttpRetryPolicy `json:"retryPolicy" yaml:"retryPolicy"`
	// An object that represents a http timeout.
	// Experimental.
	Timeout *HttpTimeout `json:"timeout" yaml:"timeout"`
}

Properties specific for HTTP Based Routes.

TODO: EXAMPLE

Experimental.

type HttpTimeout

type HttpTimeout struct {
	// Represents an idle timeout.
	//
	// The amount of time that a connection may be idle.
	// Experimental.
	Idle awscdk.Duration `json:"idle" yaml:"idle"`
	// Represents per request timeout.
	// Experimental.
	PerRequest awscdk.Duration `json:"perRequest" yaml:"perRequest"`
}

Represents timeouts for HTTP protocols.

TODO: EXAMPLE

Experimental.

type HttpVirtualNodeListenerOptions

type HttpVirtualNodeListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *HttpConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection" yaml:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Timeout for HTTP protocol.
	// Experimental.
	Timeout *HttpTimeout `json:"timeout" yaml:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represent the HTTP Node Listener prorperty.

TODO: EXAMPLE

Experimental.

type IGatewayRoute

type IGatewayRoute interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) for the GatewayRoute.
	// Experimental.
	GatewayRouteArn() *string
	// The name of the GatewayRoute.
	// Experimental.
	GatewayRouteName() *string
	// The VirtualGateway the GatewayRoute belongs to.
	// Experimental.
	VirtualGateway() IVirtualGateway
}

Interface for which all GatewayRoute based classes MUST implement. Experimental.

func GatewayRoute_FromGatewayRouteArn

func GatewayRoute_FromGatewayRouteArn(scope constructs.Construct, id *string, gatewayRouteArn *string) IGatewayRoute

Import an existing GatewayRoute given an ARN. Experimental.

func GatewayRoute_FromGatewayRouteAttributes

func GatewayRoute_FromGatewayRouteAttributes(scope constructs.Construct, id *string, attrs *GatewayRouteAttributes) IGatewayRoute

Import an existing GatewayRoute given attributes. Experimental.

type IMesh

type IMesh interface {
	awscdk.IResource
	// Creates a new VirtualGateway in this Mesh.
	//
	// Note that the Gateway is created in the same Stack that this Mesh belongs to,
	// which might be different than the current stack.
	// Experimental.
	AddVirtualGateway(id *string, props *VirtualGatewayBaseProps) VirtualGateway
	// Creates a new VirtualNode in this Mesh.
	//
	// Note that the Node is created in the same Stack that this Mesh belongs to,
	// which might be different than the current stack.
	// Experimental.
	AddVirtualNode(id *string, props *VirtualNodeBaseProps) VirtualNode
	// Creates a new VirtualRouter in this Mesh.
	//
	// Note that the Router is created in the same Stack that this Mesh belongs to,
	// which might be different than the current stack.
	// Experimental.
	AddVirtualRouter(id *string, props *VirtualRouterBaseProps) VirtualRouter
	// The Amazon Resource Name (ARN) of the AppMesh mesh.
	// Experimental.
	MeshArn() *string
	// The name of the AppMesh mesh.
	// Experimental.
	MeshName() *string
}

Interface which all Mesh based classes MUST implement. Experimental.

func Mesh_FromMeshArn

func Mesh_FromMeshArn(scope constructs.Construct, id *string, meshArn *string) IMesh

Import an existing mesh by arn. Experimental.

func Mesh_FromMeshName

func Mesh_FromMeshName(scope constructs.Construct, id *string, meshName *string) IMesh

Import an existing mesh by name. Experimental.

type IRoute

type IRoute interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) for the route.
	// Experimental.
	RouteArn() *string
	// The name of the route.
	// Experimental.
	RouteName() *string
	// The VirtualRouter the Route belongs to.
	// Experimental.
	VirtualRouter() IVirtualRouter
}

Interface for which all Route based classes MUST implement. Experimental.

func Route_FromRouteArn

func Route_FromRouteArn(scope constructs.Construct, id *string, routeArn *string) IRoute

Import an existing Route given an ARN. Experimental.

func Route_FromRouteAttributes

func Route_FromRouteAttributes(scope constructs.Construct, id *string, attrs *RouteAttributes) IRoute

Import an existing Route given attributes. Experimental.

type IVirtualGateway

type IVirtualGateway interface {
	awscdk.IResource
	// Utility method to add a new GatewayRoute to the VirtualGateway.
	// Experimental.
	AddGatewayRoute(id *string, route *GatewayRouteBaseProps) GatewayRoute
	// Grants the given entity `appmesh:StreamAggregatedResources`.
	// Experimental.
	GrantStreamAggregatedResources(identity awsiam.IGrantable) awsiam.Grant
	// The Mesh which the VirtualGateway belongs to.
	// Experimental.
	Mesh() IMesh
	// The Amazon Resource Name (ARN) for the VirtualGateway.
	// Experimental.
	VirtualGatewayArn() *string
	// Name of the VirtualGateway.
	// Experimental.
	VirtualGatewayName() *string
}

Interface which all Virtual Gateway based classes must implement. Experimental.

func VirtualGateway_FromVirtualGatewayArn

func VirtualGateway_FromVirtualGatewayArn(scope constructs.Construct, id *string, virtualGatewayArn *string) IVirtualGateway

Import an existing VirtualGateway given an ARN. Experimental.

func VirtualGateway_FromVirtualGatewayAttributes

func VirtualGateway_FromVirtualGatewayAttributes(scope constructs.Construct, id *string, attrs *VirtualGatewayAttributes) IVirtualGateway

Import an existing VirtualGateway given its attributes. Experimental.

type IVirtualNode

type IVirtualNode interface {
	awscdk.IResource
	// Grants the given entity `appmesh:StreamAggregatedResources`.
	// Experimental.
	GrantStreamAggregatedResources(identity awsiam.IGrantable) awsiam.Grant
	// The Mesh which the VirtualNode belongs to.
	// Experimental.
	Mesh() IMesh
	// The Amazon Resource Name belonging to the VirtualNode.
	//
	// Set this value as the APPMESH_VIRTUAL_NODE_NAME environment variable for
	// your task group's Envoy proxy container in your task definition or pod
	// spec.
	// Experimental.
	VirtualNodeArn() *string
	// The name of the VirtualNode.
	// Experimental.
	VirtualNodeName() *string
}

Interface which all VirtualNode based classes must implement. Experimental.

func VirtualNode_FromVirtualNodeArn

func VirtualNode_FromVirtualNodeArn(scope constructs.Construct, id *string, virtualNodeArn *string) IVirtualNode

Import an existing VirtualNode given an ARN. Experimental.

func VirtualNode_FromVirtualNodeAttributes

func VirtualNode_FromVirtualNodeAttributes(scope constructs.Construct, id *string, attrs *VirtualNodeAttributes) IVirtualNode

Import an existing VirtualNode given its name. Experimental.

type IVirtualRouter

type IVirtualRouter interface {
	awscdk.IResource
	// Add a single route to the router.
	// Experimental.
	AddRoute(id *string, props *RouteBaseProps) Route
	// The Mesh which the VirtualRouter belongs to.
	// Experimental.
	Mesh() IMesh
	// The Amazon Resource Name (ARN) for the VirtualRouter.
	// Experimental.
	VirtualRouterArn() *string
	// The name of the VirtualRouter.
	// Experimental.
	VirtualRouterName() *string
}

Interface which all VirtualRouter based classes MUST implement. Experimental.

func VirtualRouter_FromVirtualRouterArn

func VirtualRouter_FromVirtualRouterArn(scope constructs.Construct, id *string, virtualRouterArn *string) IVirtualRouter

Import an existing VirtualRouter given an ARN. Experimental.

func VirtualRouter_FromVirtualRouterAttributes

func VirtualRouter_FromVirtualRouterAttributes(scope constructs.Construct, id *string, attrs *VirtualRouterAttributes) IVirtualRouter

Import an existing VirtualRouter given attributes. Experimental.

type IVirtualService

type IVirtualService interface {
	awscdk.IResource
	// The Mesh which the VirtualService belongs to.
	// Experimental.
	Mesh() IMesh
	// The Amazon Resource Name (ARN) for the virtual service.
	// Experimental.
	VirtualServiceArn() *string
	// The name of the VirtualService.
	// Experimental.
	VirtualServiceName() *string
}

Represents the interface which all VirtualService based classes MUST implement. Experimental.

func VirtualService_FromVirtualServiceArn

func VirtualService_FromVirtualServiceArn(scope constructs.Construct, id *string, virtualServiceArn *string) IVirtualService

Import an existing VirtualService given an ARN. Experimental.

func VirtualService_FromVirtualServiceAttributes

func VirtualService_FromVirtualServiceAttributes(scope constructs.Construct, id *string, attrs *VirtualServiceAttributes) IVirtualService

Import an existing VirtualService given its attributes. Experimental.

type ListenerTlsOptions

type ListenerTlsOptions struct {
	// Represents TLS certificate.
	// Experimental.
	Certificate TlsCertificate `json:"certificate" yaml:"certificate"`
	// The TLS mode.
	// Experimental.
	Mode TlsMode `json:"mode" yaml:"mode"`
	// Represents a listener's TLS validation context.
	//
	// The client certificate will only be validated if the client provides it, enabling mutual TLS.
	// Experimental.
	MutualTlsValidation *MutualTlsValidation `json:"mutualTlsValidation" yaml:"mutualTlsValidation"`
}

Represents TLS properties for listener.

TODO: EXAMPLE

Experimental.

type Mesh

type Mesh interface {
	awscdk.Resource
	IMesh
	Env() *awscdk.ResourceEnvironment
	MeshArn() *string
	MeshName() *string
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	AddVirtualGateway(id *string, props *VirtualGatewayBaseProps) VirtualGateway
	AddVirtualNode(id *string, props *VirtualNodeBaseProps) VirtualNode
	AddVirtualRouter(id *string, props *VirtualRouterBaseProps) VirtualRouter
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

Define a new AppMesh mesh.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html

Experimental.

func NewMesh

func NewMesh(scope constructs.Construct, id *string, props *MeshProps) Mesh

Experimental.

type MeshFilterType

type MeshFilterType string

A utility enum defined for the egressFilter type property, the default of DROP_ALL, allows traffic only to other resources inside the mesh, or API calls to amazon resources.

TODO: EXAMPLE

Experimental.

const (
	MeshFilterType_ALLOW_ALL MeshFilterType = "ALLOW_ALL"
	MeshFilterType_DROP_ALL  MeshFilterType = "DROP_ALL"
)

type MeshProps

type MeshProps struct {
	// Egress filter to be applied to the Mesh.
	// Experimental.
	EgressFilter MeshFilterType `json:"egressFilter" yaml:"egressFilter"`
	// The name of the Mesh being defined.
	// Experimental.
	MeshName *string `json:"meshName" yaml:"meshName"`
}

The set of properties used when creating a Mesh.

TODO: EXAMPLE

Experimental.

type MutualTlsCertificate

type MutualTlsCertificate interface {
	TlsCertificate
	Differentiator() *bool
	Bind(_scope awscdk.Construct) *TlsCertificateConfig
}

Represents a TLS certificate that is supported for mutual TLS authentication.

TODO: EXAMPLE

Experimental.

func MutualTlsCertificate_File

func MutualTlsCertificate_File(certificateChainPath *string, privateKeyPath *string) MutualTlsCertificate

Returns an File TLS Certificate. Experimental.

func MutualTlsCertificate_Sds

func MutualTlsCertificate_Sds(secretName *string) MutualTlsCertificate

Returns an SDS TLS Certificate. Experimental.

func TlsCertificate_File

func TlsCertificate_File(certificateChainPath *string, privateKeyPath *string) MutualTlsCertificate

Returns an File TLS Certificate. Experimental.

func TlsCertificate_Sds

func TlsCertificate_Sds(secretName *string) MutualTlsCertificate

Returns an SDS TLS Certificate. Experimental.

type MutualTlsValidation

type MutualTlsValidation struct {
	// Reference to where to retrieve the trust chain.
	// Experimental.
	Trust MutualTlsValidationTrust `json:"trust" yaml:"trust"`
	// Represents the subject alternative names (SANs) secured by the certificate.
	//
	// SANs must be in the FQDN or URI format.
	// Experimental.
	SubjectAlternativeNames SubjectAlternativeNames `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

Represents the properties needed to define TLS Validation context that is supported for mutual TLS authentication.

TODO: EXAMPLE

Experimental.

type MutualTlsValidationTrust

type MutualTlsValidationTrust interface {
	TlsValidationTrust
	Differentiator() *bool
	Bind(scope awscdk.Construct) *TlsValidationTrustConfig
}

Represents a TLS Validation Context Trust that is supported for mutual TLS authentication.

TODO: EXAMPLE

Experimental.

func MutualTlsValidationTrust_File

func MutualTlsValidationTrust_File(certificateChain *string) MutualTlsValidationTrust

Tells envoy where to fetch the validation context from. Experimental.

func MutualTlsValidationTrust_Sds

func MutualTlsValidationTrust_Sds(secretName *string) MutualTlsValidationTrust

TLS Validation Context Trust for Envoy' service discovery service. Experimental.

func TlsValidationTrust_File

func TlsValidationTrust_File(certificateChain *string) MutualTlsValidationTrust

Tells envoy where to fetch the validation context from. Experimental.

func TlsValidationTrust_Sds

func TlsValidationTrust_Sds(secretName *string) MutualTlsValidationTrust

TLS Validation Context Trust for Envoy' service discovery service. Experimental.

type OutlierDetection

type OutlierDetection struct {
	// The base amount of time for which a host is ejected.
	// Experimental.
	BaseEjectionDuration awscdk.Duration `json:"baseEjectionDuration" yaml:"baseEjectionDuration"`
	// The time interval between ejection sweep analysis.
	// Experimental.
	Interval awscdk.Duration `json:"interval" yaml:"interval"`
	// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected.
	//
	// Will eject at
	// least one host regardless of the value.
	// Experimental.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent" yaml:"maxEjectionPercent"`
	// Number of consecutive 5xx errors required for ejection.
	// Experimental.
	MaxServerErrors *float64 `json:"maxServerErrors" yaml:"maxServerErrors"`
}

Represents the outlier detection for a listener.

TODO: EXAMPLE

Experimental.

type Protocol

type Protocol string

Enum of supported AppMesh protocols. Deprecated: not for use outside package

const (
	Protocol_HTTP  Protocol = "HTTP"
	Protocol_TCP   Protocol = "TCP"
	Protocol_HTTP2 Protocol = "HTTP2"
	Protocol_GRPC  Protocol = "GRPC"
)

type QueryParameterMatch

type QueryParameterMatch interface {
	Bind(scope awscdk.Construct) *QueryParameterMatchConfig
}

Used to generate query parameter matching methods.

TODO: EXAMPLE

Experimental.

func QueryParameterMatch_ValueIs

func QueryParameterMatch_ValueIs(queryParameterName *string, queryParameterValue *string) QueryParameterMatch

The value of the query parameter with the given name in the request must match the specified value exactly. Experimental.

type QueryParameterMatchConfig

type QueryParameterMatchConfig struct {
	// Route CFN configuration for route query parameter match.
	// Experimental.
	QueryParameterMatch *CfnRoute_QueryParameterProperty `json:"queryParameterMatch" yaml:"queryParameterMatch"`
}

Configuration for `QueryParameterMatch`.

TODO: EXAMPLE

Experimental.

type Route

type Route interface {
	awscdk.Resource
	IRoute
	Env() *awscdk.ResourceEnvironment
	Node() awscdk.ConstructNode
	PhysicalName() *string
	RouteArn() *string
	RouteName() *string
	Stack() awscdk.Stack
	VirtualRouter() IVirtualRouter
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

Route represents a new or existing route attached to a VirtualRouter and Mesh.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html

Experimental.

func NewRoute

func NewRoute(scope constructs.Construct, id *string, props *RouteProps) Route

Experimental.

type RouteAttributes

type RouteAttributes struct {
	// The name of the Route.
	// Experimental.
	RouteName *string `json:"routeName" yaml:"routeName"`
	// The VirtualRouter the Route belongs to.
	// Experimental.
	VirtualRouter IVirtualRouter `json:"virtualRouter" yaml:"virtualRouter"`
}

Interface with properties ncecessary to import a reusable Route.

TODO: EXAMPLE

Experimental.

type RouteBaseProps

type RouteBaseProps struct {
	// Protocol specific spec.
	// Experimental.
	RouteSpec RouteSpec `json:"routeSpec" yaml:"routeSpec"`
	// The name of the route.
	// Experimental.
	RouteName *string `json:"routeName" yaml:"routeName"`
}

Base interface properties for all Routes.

TODO: EXAMPLE

Experimental.

type RouteProps

type RouteProps struct {
	// Protocol specific spec.
	// Experimental.
	RouteSpec RouteSpec `json:"routeSpec" yaml:"routeSpec"`
	// The name of the route.
	// Experimental.
	RouteName *string `json:"routeName" yaml:"routeName"`
	// The service mesh to define the route in.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// The VirtualRouter the Route belongs to.
	// Experimental.
	VirtualRouter IVirtualRouter `json:"virtualRouter" yaml:"virtualRouter"`
}

Properties to define new Routes.

TODO: EXAMPLE

Experimental.

type RouteSpec

type RouteSpec interface {
	Bind(scope awscdk.Construct) *RouteSpecConfig
}

Used to generate specs with different protocols for a RouteSpec.

TODO: EXAMPLE

Experimental.

func RouteSpec_Grpc

func RouteSpec_Grpc(options *GrpcRouteSpecOptions) RouteSpec

Creates a GRPC Based RouteSpec. Experimental.

func RouteSpec_Http

func RouteSpec_Http(options *HttpRouteSpecOptions) RouteSpec

Creates an HTTP Based RouteSpec. Experimental.

func RouteSpec_Http2

func RouteSpec_Http2(options *HttpRouteSpecOptions) RouteSpec

Creates an HTTP2 Based RouteSpec. Experimental.

func RouteSpec_Tcp

func RouteSpec_Tcp(options *TcpRouteSpecOptions) RouteSpec

Creates a TCP Based RouteSpec. Experimental.

type RouteSpecConfig

type RouteSpecConfig struct {
	// The spec for a grpc route.
	// Experimental.
	GrpcRouteSpec *CfnRoute_GrpcRouteProperty `json:"grpcRouteSpec" yaml:"grpcRouteSpec"`
	// The spec for an http2 route.
	// Experimental.
	Http2RouteSpec *CfnRoute_HttpRouteProperty `json:"http2RouteSpec" yaml:"http2RouteSpec"`
	// The spec for an http route.
	// Experimental.
	HttpRouteSpec *CfnRoute_HttpRouteProperty `json:"httpRouteSpec" yaml:"httpRouteSpec"`
	// The priority for the route.
	//
	// When a Virtual Router has multiple routes, route match is performed in the
	// order of specified value, where 0 is the highest priority, and first matched route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// The spec for a tcp route.
	// Experimental.
	TcpRouteSpec *CfnRoute_TcpRouteProperty `json:"tcpRouteSpec" yaml:"tcpRouteSpec"`
}

All Properties for Route Specs.

TODO: EXAMPLE

Experimental.

type RouteSpecOptionsBase

type RouteSpecOptionsBase struct {
	// The priority for the route.
	//
	// When a Virtual Router has multiple routes, route match is performed in the
	// order of specified value, where 0 is the highest priority, and first matched route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
}

Base options for all route specs.

TODO: EXAMPLE

Experimental.

type ServiceDiscovery

type ServiceDiscovery interface {
	Bind(scope awscdk.Construct) *ServiceDiscoveryConfig
}

Provides the Service Discovery method a VirtualNode uses.

TODO: EXAMPLE

Experimental.

func ServiceDiscovery_CloudMap

func ServiceDiscovery_CloudMap(service awsservicediscovery.IService, instanceAttributes *map[string]*string) ServiceDiscovery

Returns Cloud Map based service discovery. Experimental.

func ServiceDiscovery_Dns

func ServiceDiscovery_Dns(hostname *string, responseType DnsResponseType) ServiceDiscovery

Returns DNS based service discovery. Experimental.

type ServiceDiscoveryConfig

type ServiceDiscoveryConfig struct {
	// Cloud Map based Service Discovery.
	// Experimental.
	Cloudmap *CfnVirtualNode_AwsCloudMapServiceDiscoveryProperty `json:"cloudmap" yaml:"cloudmap"`
	// DNS based Service Discovery.
	// Experimental.
	Dns *CfnVirtualNode_DnsServiceDiscoveryProperty `json:"dns" yaml:"dns"`
}

Properties for VirtualNode Service Discovery.

TODO: EXAMPLE

Experimental.

type SubjectAlternativeNames

type SubjectAlternativeNames interface {
	Bind(scope awscdk.Construct) *SubjectAlternativeNamesMatcherConfig
}

Used to generate Subject Alternative Names Matchers.

TODO: EXAMPLE

Experimental.

func SubjectAlternativeNames_MatchingExactly

func SubjectAlternativeNames_MatchingExactly(names ...*string) SubjectAlternativeNames

The values of the SAN must match the specified values exactly. Experimental.

type SubjectAlternativeNamesMatcherConfig

type SubjectAlternativeNamesMatcherConfig struct {
	// VirtualNode CFN configuration for subject alternative names secured by the certificate.
	// Experimental.
	SubjectAlternativeNamesMatch *CfnVirtualNode_SubjectAlternativeNameMatchersProperty `json:"subjectAlternativeNamesMatch" yaml:"subjectAlternativeNamesMatch"`
}

All Properties for Subject Alternative Names Matcher for both Client Policy and Listener.

TODO: EXAMPLE

Experimental.

type TcpConnectionPool

type TcpConnectionPool struct {
	// The maximum connections in the pool.
	// Experimental.
	MaxConnections *float64 `json:"maxConnections" yaml:"maxConnections"`
}

Connection pool properties for TCP listeners.

TODO: EXAMPLE

Experimental.

type TcpHealthCheckOptions

type TcpHealthCheckOptions struct {
	// The number of consecutive successful health checks that must occur before declaring listener healthy.
	// Experimental.
	HealthyThreshold *float64 `json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time period between each health check execution.
	// Experimental.
	Interval awscdk.Duration `json:"interval" yaml:"interval"`
	// The amount of time to wait when receiving a response from the health check.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout" yaml:"timeout"`
	// The number of consecutive failed health checks that must occur before declaring a listener unhealthy.
	// Experimental.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
}

Properties used to define TCP Based healthchecks.

TODO: EXAMPLE

Experimental.

type TcpRetryEvent

type TcpRetryEvent string

TCP events on which you may retry.

TODO: EXAMPLE

Experimental.

const (
	TcpRetryEvent_CONNECTION_ERROR TcpRetryEvent = "CONNECTION_ERROR"
)

type TcpRouteSpecOptions

type TcpRouteSpecOptions struct {
	// The priority for the route.
	//
	// When a Virtual Router has multiple routes, route match is performed in the
	// order of specified value, where 0 is the highest priority, and first matched route is selected.
	// Experimental.
	Priority *float64 `json:"priority" yaml:"priority"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets" yaml:"weightedTargets"`
	// An object that represents a tcp timeout.
	// Experimental.
	Timeout *TcpTimeout `json:"timeout" yaml:"timeout"`
}

Properties specific for a TCP Based Routes.

TODO: EXAMPLE

Experimental.

type TcpTimeout

type TcpTimeout struct {
	// Represents an idle timeout.
	//
	// The amount of time that a connection may be idle.
	// Experimental.
	Idle awscdk.Duration `json:"idle" yaml:"idle"`
}

Represents timeouts for TCP protocols.

TODO: EXAMPLE

Experimental.

type TcpVirtualNodeListenerOptions

type TcpVirtualNodeListenerOptions struct {
	// Connection pool for http listeners.
	// Experimental.
	ConnectionPool *TcpConnectionPool `json:"connectionPool" yaml:"connectionPool"`
	// The health check information for the listener.
	// Experimental.
	HealthCheck HealthCheck `json:"healthCheck" yaml:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection" yaml:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port" yaml:"port"`
	// Timeout for TCP protocol.
	// Experimental.
	Timeout *TcpTimeout `json:"timeout" yaml:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	Tls *ListenerTlsOptions `json:"tls" yaml:"tls"`
}

Represent the TCP Node Listener prorperty.

TODO: EXAMPLE

Experimental.

type TlsCertificate

type TlsCertificate interface {
	Bind(_scope awscdk.Construct) *TlsCertificateConfig
}

Represents a TLS certificate.

TODO: EXAMPLE

Experimental.

func MutualTlsCertificate_Acm

func MutualTlsCertificate_Acm(certificate awscertificatemanager.ICertificate) TlsCertificate

Returns an ACM TLS Certificate. Experimental.

func TlsCertificate_Acm

func TlsCertificate_Acm(certificate awscertificatemanager.ICertificate) TlsCertificate

Returns an ACM TLS Certificate. Experimental.

type TlsCertificateConfig

type TlsCertificateConfig struct {
	// The CFN shape for a TLS certificate.
	// Experimental.
	TlsCertificate *CfnVirtualNode_ListenerTlsCertificateProperty `json:"tlsCertificate" yaml:"tlsCertificate"`
}

A wrapper for the tls config returned by {@link TlsCertificate.bind}.

TODO: EXAMPLE

Experimental.

type TlsClientPolicy

type TlsClientPolicy struct {
	// Represents the object for TLS validation context.
	// Experimental.
	Validation *TlsValidation `json:"validation" yaml:"validation"`
	// Whether the policy is enforced.
	// Experimental.
	Enforce *bool `json:"enforce" yaml:"enforce"`
	// Represents a client TLS certificate.
	//
	// The certificate will be sent only if the server requests it, enabling mutual TLS.
	// Experimental.
	MutualTlsCertificate MutualTlsCertificate `json:"mutualTlsCertificate" yaml:"mutualTlsCertificate"`
	// TLS is enforced on the ports specified here.
	//
	// If no ports are specified, TLS will be enforced on all the ports.
	// Experimental.
	Ports *[]*float64 `json:"ports" yaml:"ports"`
}

Represents the properties needed to define client policy.

TODO: EXAMPLE

Experimental.

type TlsMode

type TlsMode string

Enum of supported TLS modes.

TODO: EXAMPLE

Experimental.

const (
	TlsMode_STRICT     TlsMode = "STRICT"
	TlsMode_PERMISSIVE TlsMode = "PERMISSIVE"
	TlsMode_DISABLED   TlsMode = "DISABLED"
)

type TlsValidation

type TlsValidation struct {
	// Reference to where to retrieve the trust chain.
	// Experimental.
	Trust TlsValidationTrust `json:"trust" yaml:"trust"`
	// Represents the subject alternative names (SANs) secured by the certificate.
	//
	// SANs must be in the FQDN or URI format.
	// Experimental.
	SubjectAlternativeNames SubjectAlternativeNames `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

Represents the properties needed to define TLS Validation context.

TODO: EXAMPLE

Experimental.

type TlsValidationTrust

type TlsValidationTrust interface {
	Bind(scope awscdk.Construct) *TlsValidationTrustConfig
}

Defines the TLS Validation Context Trust.

TODO: EXAMPLE

Experimental.

func MutualTlsValidationTrust_Acm

func MutualTlsValidationTrust_Acm(certificateAuthorities *[]awsacmpca.ICertificateAuthority) TlsValidationTrust

TLS Validation Context Trust for ACM Private Certificate Authority (CA). Experimental.

func TlsValidationTrust_Acm

func TlsValidationTrust_Acm(certificateAuthorities *[]awsacmpca.ICertificateAuthority) TlsValidationTrust

TLS Validation Context Trust for ACM Private Certificate Authority (CA). Experimental.

type TlsValidationTrustConfig

type TlsValidationTrustConfig struct {
	// VirtualNode CFN configuration for client policy's TLS Validation Trust.
	// Experimental.
	TlsValidationTrust *CfnVirtualNode_TlsValidationContextTrustProperty `json:"tlsValidationTrust" yaml:"tlsValidationTrust"`
}

All Properties for TLS Validation Trusts for both Client Policy and Listener.

TODO: EXAMPLE

Experimental.

type VirtualGateway

type VirtualGateway interface {
	awscdk.Resource
	IVirtualGateway
	Env() *awscdk.ResourceEnvironment
	Listeners() *[]*VirtualGatewayListenerConfig
	Mesh() IMesh
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	VirtualGatewayArn() *string
	VirtualGatewayName() *string
	AddGatewayRoute(id *string, props *GatewayRouteBaseProps) GatewayRoute
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantStreamAggregatedResources(identity awsiam.IGrantable) awsiam.Grant
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

VirtualGateway represents a newly defined App Mesh Virtual Gateway.

A virtual gateway allows resources that are outside of your mesh to communicate to resources that are inside of your mesh.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html

Experimental.

func NewVirtualGateway

func NewVirtualGateway(scope constructs.Construct, id *string, props *VirtualGatewayProps) VirtualGateway

Experimental.

type VirtualGatewayAttributes

type VirtualGatewayAttributes struct {
	// The Mesh that the VirtualGateway belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// The name of the VirtualGateway.
	// Experimental.
	VirtualGatewayName *string `json:"virtualGatewayName" yaml:"virtualGatewayName"`
}

Unterface with properties necessary to import a reusable VirtualGateway.

TODO: EXAMPLE

Experimental.

type VirtualGatewayBaseProps

type VirtualGatewayBaseProps struct {
	// Access Logging Configuration for the VirtualGateway.
	// Experimental.
	AccessLog AccessLog `json:"accessLog" yaml:"accessLog"`
	// Default Configuration Virtual Node uses to communicate with Virtual Service.
	// Experimental.
	BackendDefaults *BackendDefaults `json:"backendDefaults" yaml:"backendDefaults"`
	// Listeners for the VirtualGateway.
	//
	// Only one is supported.
	// Experimental.
	Listeners *[]VirtualGatewayListener `json:"listeners" yaml:"listeners"`
	// Name of the VirtualGateway.
	// Experimental.
	VirtualGatewayName *string `json:"virtualGatewayName" yaml:"virtualGatewayName"`
}

Basic configuration properties for a VirtualGateway.

TODO: EXAMPLE

Experimental.

type VirtualGatewayListener

type VirtualGatewayListener interface {
	Bind(scope awscdk.Construct) *VirtualGatewayListenerConfig
}

Represents the properties needed to define listeners for a VirtualGateway.

TODO: EXAMPLE

Experimental.

func VirtualGatewayListener_Grpc

func VirtualGatewayListener_Grpc(options *GrpcGatewayListenerOptions) VirtualGatewayListener

Returns a GRPC Listener for a VirtualGateway. Experimental.

func VirtualGatewayListener_Http

func VirtualGatewayListener_Http(options *HttpGatewayListenerOptions) VirtualGatewayListener

Returns an HTTP Listener for a VirtualGateway. Experimental.

func VirtualGatewayListener_Http2

func VirtualGatewayListener_Http2(options *Http2GatewayListenerOptions) VirtualGatewayListener

Returns an HTTP2 Listener for a VirtualGateway. Experimental.

type VirtualGatewayListenerConfig

type VirtualGatewayListenerConfig struct {
	// Single listener config for a VirtualGateway.
	// Experimental.
	Listener *CfnVirtualGateway_VirtualGatewayListenerProperty `json:"listener" yaml:"listener"`
}

Properties for a VirtualGateway listener.

TODO: EXAMPLE

Experimental.

type VirtualGatewayProps

type VirtualGatewayProps struct {
	// Access Logging Configuration for the VirtualGateway.
	// Experimental.
	AccessLog AccessLog `json:"accessLog" yaml:"accessLog"`
	// Default Configuration Virtual Node uses to communicate with Virtual Service.
	// Experimental.
	BackendDefaults *BackendDefaults `json:"backendDefaults" yaml:"backendDefaults"`
	// Listeners for the VirtualGateway.
	//
	// Only one is supported.
	// Experimental.
	Listeners *[]VirtualGatewayListener `json:"listeners" yaml:"listeners"`
	// Name of the VirtualGateway.
	// Experimental.
	VirtualGatewayName *string `json:"virtualGatewayName" yaml:"virtualGatewayName"`
	// The Mesh which the VirtualGateway belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
}

Properties used when creating a new VirtualGateway.

TODO: EXAMPLE

Experimental.

type VirtualNode

type VirtualNode interface {
	awscdk.Resource
	IVirtualNode
	Env() *awscdk.ResourceEnvironment
	Mesh() IMesh
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	VirtualNodeArn() *string
	VirtualNodeName() *string
	AddBackend(backend Backend)
	AddListener(listener VirtualNodeListener)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantStreamAggregatedResources(identity awsiam.IGrantable) awsiam.Grant
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

VirtualNode represents a newly defined AppMesh VirtualNode.

Any inbound traffic that your virtual node expects should be specified as a listener. Any outbound traffic that your virtual node expects to reach should be specified as a backend.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html

Experimental.

func NewVirtualNode

func NewVirtualNode(scope constructs.Construct, id *string, props *VirtualNodeProps) VirtualNode

Experimental.

type VirtualNodeAttributes

type VirtualNodeAttributes struct {
	// The Mesh that the VirtualNode belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// The name of the VirtualNode.
	// Experimental.
	VirtualNodeName *string `json:"virtualNodeName" yaml:"virtualNodeName"`
}

Interface with properties necessary to import a reusable VirtualNode.

TODO: EXAMPLE

Experimental.

type VirtualNodeBaseProps

type VirtualNodeBaseProps struct {
	// Access Logging Configuration for the virtual node.
	// Experimental.
	AccessLog AccessLog `json:"accessLog" yaml:"accessLog"`
	// Default Configuration Virtual Node uses to communicate with Virtual Service.
	// Experimental.
	BackendDefaults *BackendDefaults `json:"backendDefaults" yaml:"backendDefaults"`
	// Virtual Services that this is node expected to send outbound traffic to.
	// Experimental.
	Backends *[]Backend `json:"backends" yaml:"backends"`
	// Initial listener for the virtual node.
	// Experimental.
	Listeners *[]VirtualNodeListener `json:"listeners" yaml:"listeners"`
	// Defines how upstream clients will discover this VirtualNode.
	// Experimental.
	ServiceDiscovery ServiceDiscovery `json:"serviceDiscovery" yaml:"serviceDiscovery"`
	// The name of the VirtualNode.
	// Experimental.
	VirtualNodeName *string `json:"virtualNodeName" yaml:"virtualNodeName"`
}

Basic configuration properties for a VirtualNode.

TODO: EXAMPLE

Experimental.

type VirtualNodeListener

type VirtualNodeListener interface {
	Bind(scope awscdk.Construct) *VirtualNodeListenerConfig
}

Defines listener for a VirtualNode.

TODO: EXAMPLE

Experimental.

func VirtualNodeListener_Grpc

func VirtualNodeListener_Grpc(props *GrpcVirtualNodeListenerOptions) VirtualNodeListener

Returns an GRPC Listener for a VirtualNode. Experimental.

func VirtualNodeListener_Http

func VirtualNodeListener_Http(props *HttpVirtualNodeListenerOptions) VirtualNodeListener

Returns an HTTP Listener for a VirtualNode. Experimental.

func VirtualNodeListener_Http2

func VirtualNodeListener_Http2(props *Http2VirtualNodeListenerOptions) VirtualNodeListener

Returns an HTTP2 Listener for a VirtualNode. Experimental.

func VirtualNodeListener_Tcp

func VirtualNodeListener_Tcp(props *TcpVirtualNodeListenerOptions) VirtualNodeListener

Returns an TCP Listener for a VirtualNode. Experimental.

type VirtualNodeListenerConfig

type VirtualNodeListenerConfig struct {
	// Single listener config for a VirtualNode.
	// Experimental.
	Listener *CfnVirtualNode_ListenerProperty `json:"listener" yaml:"listener"`
}

Properties for a VirtualNode listener.

TODO: EXAMPLE

Experimental.

type VirtualNodeProps

type VirtualNodeProps struct {
	// Access Logging Configuration for the virtual node.
	// Experimental.
	AccessLog AccessLog `json:"accessLog" yaml:"accessLog"`
	// Default Configuration Virtual Node uses to communicate with Virtual Service.
	// Experimental.
	BackendDefaults *BackendDefaults `json:"backendDefaults" yaml:"backendDefaults"`
	// Virtual Services that this is node expected to send outbound traffic to.
	// Experimental.
	Backends *[]Backend `json:"backends" yaml:"backends"`
	// Initial listener for the virtual node.
	// Experimental.
	Listeners *[]VirtualNodeListener `json:"listeners" yaml:"listeners"`
	// Defines how upstream clients will discover this VirtualNode.
	// Experimental.
	ServiceDiscovery ServiceDiscovery `json:"serviceDiscovery" yaml:"serviceDiscovery"`
	// The name of the VirtualNode.
	// Experimental.
	VirtualNodeName *string `json:"virtualNodeName" yaml:"virtualNodeName"`
	// The Mesh which the VirtualNode belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
}

The properties used when creating a new VirtualNode.

TODO: EXAMPLE

Experimental.

type VirtualRouter

type VirtualRouter interface {
	awscdk.Resource
	IVirtualRouter
	Env() *awscdk.ResourceEnvironment
	Mesh() IMesh
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	VirtualRouterArn() *string
	VirtualRouterName() *string
	AddRoute(id *string, props *RouteBaseProps) Route
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

TODO: EXAMPLE

Experimental.

func NewVirtualRouter

func NewVirtualRouter(scope constructs.Construct, id *string, props *VirtualRouterProps) VirtualRouter

Experimental.

type VirtualRouterAttributes

type VirtualRouterAttributes struct {
	// The Mesh which the VirtualRouter belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// The name of the VirtualRouter.
	// Experimental.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
}

Interface with properties ncecessary to import a reusable VirtualRouter.

TODO: EXAMPLE

Experimental.

type VirtualRouterBaseProps

type VirtualRouterBaseProps struct {
	// Listener specification for the VirtualRouter.
	// Experimental.
	Listeners *[]VirtualRouterListener `json:"listeners" yaml:"listeners"`
	// The name of the VirtualRouter.
	// Experimental.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
}

Interface with base properties all routers willl inherit.

TODO: EXAMPLE

Experimental.

type VirtualRouterListener

type VirtualRouterListener interface {
	Bind(scope awscdk.Construct) *VirtualRouterListenerConfig
}

Represents the properties needed to define listeners for a VirtualRouter.

TODO: EXAMPLE

Experimental.

func VirtualRouterListener_Grpc

func VirtualRouterListener_Grpc(port *float64) VirtualRouterListener

Returns a GRPC Listener for a VirtualRouter. Experimental.

func VirtualRouterListener_Http

func VirtualRouterListener_Http(port *float64) VirtualRouterListener

Returns an HTTP Listener for a VirtualRouter. Experimental.

func VirtualRouterListener_Http2

func VirtualRouterListener_Http2(port *float64) VirtualRouterListener

Returns an HTTP2 Listener for a VirtualRouter. Experimental.

func VirtualRouterListener_Tcp

func VirtualRouterListener_Tcp(port *float64) VirtualRouterListener

Returns a TCP Listener for a VirtualRouter. Experimental.

type VirtualRouterListenerConfig

type VirtualRouterListenerConfig struct {
	// Single listener config for a VirtualRouter.
	// Experimental.
	Listener *CfnVirtualRouter_VirtualRouterListenerProperty `json:"listener" yaml:"listener"`
}

Properties for a VirtualRouter listener.

TODO: EXAMPLE

Experimental.

type VirtualRouterProps

type VirtualRouterProps struct {
	// Listener specification for the VirtualRouter.
	// Experimental.
	Listeners *[]VirtualRouterListener `json:"listeners" yaml:"listeners"`
	// The name of the VirtualRouter.
	// Experimental.
	VirtualRouterName *string `json:"virtualRouterName" yaml:"virtualRouterName"`
	// The Mesh which the VirtualRouter belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
}

The properties used when creating a new VirtualRouter.

TODO: EXAMPLE

Experimental.

type VirtualService

type VirtualService interface {
	awscdk.Resource
	IVirtualService
	Env() *awscdk.ResourceEnvironment
	Mesh() IMesh
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	VirtualServiceArn() *string
	VirtualServiceName() *string
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

VirtualService represents a service inside an AppMesh.

It routes traffic either to a Virtual Node or to a Virtual Router.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html

Experimental.

func NewVirtualService

func NewVirtualService(scope constructs.Construct, id *string, props *VirtualServiceProps) VirtualService

Experimental.

type VirtualServiceAttributes

type VirtualServiceAttributes struct {
	// The Mesh which the VirtualService belongs to.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// The name of the VirtualService, it is recommended this follows the fully-qualified domain name format.
	// Experimental.
	VirtualServiceName *string `json:"virtualServiceName" yaml:"virtualServiceName"`
}

Interface with properties ncecessary to import a reusable VirtualService.

TODO: EXAMPLE

Experimental.

type VirtualServiceBackendOptions

type VirtualServiceBackendOptions struct {
	// TLS properties for  Client policy for the backend.
	// Experimental.
	TlsClientPolicy *TlsClientPolicy `json:"tlsClientPolicy" yaml:"tlsClientPolicy"`
}

Represents the properties needed to define a Virtual Service backend.

TODO: EXAMPLE

Experimental.

type VirtualServiceProps

type VirtualServiceProps struct {
	// The VirtualNode or VirtualRouter which the VirtualService uses as its provider.
	// Experimental.
	VirtualServiceProvider VirtualServiceProvider `json:"virtualServiceProvider" yaml:"virtualServiceProvider"`
	// The name of the VirtualService.
	//
	// It is recommended this follows the fully-qualified domain name format,
	// such as "my-service.default.svc.cluster.local".
	//
	// Example value: `service.domain.local`
	// Experimental.
	VirtualServiceName *string `json:"virtualServiceName" yaml:"virtualServiceName"`
}

The properties applied to the VirtualService being defined.

TODO: EXAMPLE

Experimental.

type VirtualServiceProvider

type VirtualServiceProvider interface {
	Bind(_construct constructs.Construct) *VirtualServiceProviderConfig
}

Represents the properties needed to define the provider for a VirtualService.

TODO: EXAMPLE

Experimental.

func VirtualServiceProvider_None

func VirtualServiceProvider_None(mesh IMesh) VirtualServiceProvider

Returns an Empty Provider for a VirtualService.

This provides no routing capabilities and should only be used as a placeholder Experimental.

func VirtualServiceProvider_VirtualNode

func VirtualServiceProvider_VirtualNode(virtualNode IVirtualNode) VirtualServiceProvider

Returns a VirtualNode based Provider for a VirtualService. Experimental.

func VirtualServiceProvider_VirtualRouter

func VirtualServiceProvider_VirtualRouter(virtualRouter IVirtualRouter) VirtualServiceProvider

Returns a VirtualRouter based Provider for a VirtualService. Experimental.

type VirtualServiceProviderConfig

type VirtualServiceProviderConfig struct {
	// Mesh the Provider is using.
	// Experimental.
	Mesh IMesh `json:"mesh" yaml:"mesh"`
	// Virtual Node based provider.
	// Experimental.
	VirtualNodeProvider *CfnVirtualService_VirtualNodeServiceProviderProperty `json:"virtualNodeProvider" yaml:"virtualNodeProvider"`
	// Virtual Router based provider.
	// Experimental.
	VirtualRouterProvider *CfnVirtualService_VirtualRouterServiceProviderProperty `json:"virtualRouterProvider" yaml:"virtualRouterProvider"`
}

Properties for a VirtualService provider.

TODO: EXAMPLE

Experimental.

type WeightedTarget

type WeightedTarget struct {
	// The VirtualNode the route points to.
	// Experimental.
	VirtualNode IVirtualNode `json:"virtualNode" yaml:"virtualNode"`
	// The weight for the target.
	// Experimental.
	Weight *float64 `json:"weight" yaml:"weight"`
}

Properties for the Weighted Targets in the route.

TODO: EXAMPLE

Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL