awsappmesh

package
v1.98.1-devpreview Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2021 License: Apache-2.0 Imports: 9 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 NewClientPolicy_Override

func NewClientPolicy_Override(c ClientPolicy)

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 NewHttpHeaderMatch_Override

func NewHttpHeaderMatch_Override(h HttpHeaderMatch)

Experimental.

func NewMesh_Override

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

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 NewTlsCertificate_Override

func NewTlsCertificate_Override(t TlsCertificate)

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. 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"`
	// VirtualNode CFN configuration for Access Logging.
	// Experimental.
	VirtualNodeAccessLog *CfnVirtualNode_AccessLogProperty `json:"virtualNodeAccessLog"`
}

All Properties for Envoy Access logs for mesh endpoints. Experimental.

type AcmCertificateOptions

type AcmCertificateOptions struct {
	// The ACM certificate.
	// Experimental.
	Certificate awscertificatemanager.ICertificate `json:"certificate"`
	// The TLS mode.
	// Experimental.
	TlsMode TlsMode `json:"tlsMode"`
}

ACM Certificate Properties. Experimental.

type AcmTrustOptions

type AcmTrustOptions struct {
	// 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"`
	// Contains information for your private certificate authority.
	// Experimental.
	CertificateAuthorities *[]awsacmpca.ICertificateAuthority `json:"certificateAuthorities"`
}

ACM Trust Properties. Experimental.

type Backend

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

Contains static factory methods to create backends. 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"`
}

Properties for a backend. Experimental.

type BackendDefaults

type BackendDefaults struct {
	// Client policy for backend defaults.
	// Experimental.
	ClientPolicy ClientPolicy `json:"clientPolicy"`
}

Represents the properties needed to define backend defaults. 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`.

func NewCfnGatewayRoute

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

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

type CfnGatewayRouteProps

type CfnGatewayRouteProps struct {
	// `AWS::AppMesh::GatewayRoute.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::GatewayRoute.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::GatewayRoute.VirtualGatewayName`.
	VirtualGatewayName *string `json:"virtualGatewayName"`
	// `AWS::AppMesh::GatewayRoute.GatewayRouteName`.
	GatewayRouteName *string `json:"gatewayRouteName"`
	// `AWS::AppMesh::GatewayRoute.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::GatewayRoute.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::AppMesh::GatewayRoute`.

type CfnGatewayRoute_GatewayRouteSpecProperty

type CfnGatewayRoute_GatewayRouteSpecProperty struct {
	// `CfnGatewayRoute.GatewayRouteSpecProperty.GrpcRoute`.
	GrpcRoute interface{} `json:"grpcRoute"`
	// `CfnGatewayRoute.GatewayRouteSpecProperty.Http2Route`.
	Http2Route interface{} `json:"http2Route"`
	// `CfnGatewayRoute.GatewayRouteSpecProperty.HttpRoute`.
	HttpRoute interface{} `json:"httpRoute"`
}

type CfnGatewayRoute_GatewayRouteTargetProperty

type CfnGatewayRoute_GatewayRouteTargetProperty struct {
	// `CfnGatewayRoute.GatewayRouteTargetProperty.VirtualService`.
	VirtualService interface{} `json:"virtualService"`
}

type CfnGatewayRoute_GatewayRouteVirtualServiceProperty

type CfnGatewayRoute_GatewayRouteVirtualServiceProperty struct {
	// `CfnGatewayRoute.GatewayRouteVirtualServiceProperty.VirtualServiceName`.
	VirtualServiceName *string `json:"virtualServiceName"`
}

type CfnGatewayRoute_GrpcGatewayRouteActionProperty

type CfnGatewayRoute_GrpcGatewayRouteActionProperty struct {
	// `CfnGatewayRoute.GrpcGatewayRouteActionProperty.Target`.
	Target interface{} `json:"target"`
}

type CfnGatewayRoute_GrpcGatewayRouteMatchProperty

type CfnGatewayRoute_GrpcGatewayRouteMatchProperty struct {
	// `CfnGatewayRoute.GrpcGatewayRouteMatchProperty.ServiceName`.
	ServiceName *string `json:"serviceName"`
}

type CfnGatewayRoute_GrpcGatewayRouteProperty

type CfnGatewayRoute_GrpcGatewayRouteProperty struct {
	// `CfnGatewayRoute.GrpcGatewayRouteProperty.Action`.
	Action interface{} `json:"action"`
	// `CfnGatewayRoute.GrpcGatewayRouteProperty.Match`.
	Match interface{} `json:"match"`
}

type CfnGatewayRoute_HttpGatewayRouteActionProperty

type CfnGatewayRoute_HttpGatewayRouteActionProperty struct {
	// `CfnGatewayRoute.HttpGatewayRouteActionProperty.Target`.
	Target interface{} `json:"target"`
}

type CfnGatewayRoute_HttpGatewayRouteMatchProperty

type CfnGatewayRoute_HttpGatewayRouteMatchProperty struct {
	// `CfnGatewayRoute.HttpGatewayRouteMatchProperty.Prefix`.
	Prefix *string `json:"prefix"`
}

type CfnGatewayRoute_HttpGatewayRouteProperty

type CfnGatewayRoute_HttpGatewayRouteProperty struct {
	// `CfnGatewayRoute.HttpGatewayRouteProperty.Action`.
	Action interface{} `json:"action"`
	// `CfnGatewayRoute.HttpGatewayRouteProperty.Match`.
	Match interface{} `json:"match"`
}

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`.

func NewCfnMesh

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

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

type CfnMeshProps

type CfnMeshProps struct {
	// `AWS::AppMesh::Mesh.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::Mesh.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::Mesh.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::AppMesh::Mesh`.

type CfnMesh_EgressFilterProperty

type CfnMesh_EgressFilterProperty struct {
	// `CfnMesh.EgressFilterProperty.Type`.
	Type *string `json:"type"`
}

type CfnMesh_MeshSpecProperty

type CfnMesh_MeshSpecProperty struct {
	// `CfnMesh.MeshSpecProperty.EgressFilter`.
	EgressFilter interface{} `json:"egressFilter"`
}

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`.

func NewCfnRoute

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

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

type CfnRouteProps

type CfnRouteProps struct {
	// `AWS::AppMesh::Route.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::Route.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::Route.VirtualRouterName`.
	VirtualRouterName *string `json:"virtualRouterName"`
	// `AWS::AppMesh::Route.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::Route.RouteName`.
	RouteName *string `json:"routeName"`
	// `AWS::AppMesh::Route.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::AppMesh::Route`.

type CfnRoute_DurationProperty

type CfnRoute_DurationProperty struct {
	// `CfnRoute.DurationProperty.Unit`.
	Unit *string `json:"unit"`
	// `CfnRoute.DurationProperty.Value`.
	Value *float64 `json:"value"`
}

type CfnRoute_GrpcRetryPolicyProperty

type CfnRoute_GrpcRetryPolicyProperty struct {
	// `CfnRoute.GrpcRetryPolicyProperty.MaxRetries`.
	MaxRetries *float64 `json:"maxRetries"`
	// `CfnRoute.GrpcRetryPolicyProperty.PerRetryTimeout`.
	PerRetryTimeout interface{} `json:"perRetryTimeout"`
	// `CfnRoute.GrpcRetryPolicyProperty.GrpcRetryEvents`.
	GrpcRetryEvents *[]*string `json:"grpcRetryEvents"`
	// `CfnRoute.GrpcRetryPolicyProperty.HttpRetryEvents`.
	HttpRetryEvents *[]*string `json:"httpRetryEvents"`
	// `CfnRoute.GrpcRetryPolicyProperty.TcpRetryEvents`.
	TcpRetryEvents *[]*string `json:"tcpRetryEvents"`
}

type CfnRoute_GrpcRouteActionProperty

type CfnRoute_GrpcRouteActionProperty struct {
	// `CfnRoute.GrpcRouteActionProperty.WeightedTargets`.
	WeightedTargets interface{} `json:"weightedTargets"`
}

type CfnRoute_GrpcRouteMatchProperty

type CfnRoute_GrpcRouteMatchProperty struct {
	// `CfnRoute.GrpcRouteMatchProperty.Metadata`.
	Metadata interface{} `json:"metadata"`
	// `CfnRoute.GrpcRouteMatchProperty.MethodName`.
	MethodName *string `json:"methodName"`
	// `CfnRoute.GrpcRouteMatchProperty.ServiceName`.
	ServiceName *string `json:"serviceName"`
}

type CfnRoute_GrpcRouteMetadataMatchMethodProperty

type CfnRoute_GrpcRouteMetadataMatchMethodProperty struct {
	// `CfnRoute.GrpcRouteMetadataMatchMethodProperty.Exact`.
	Exact *string `json:"exact"`
	// `CfnRoute.GrpcRouteMetadataMatchMethodProperty.Prefix`.
	Prefix *string `json:"prefix"`
	// `CfnRoute.GrpcRouteMetadataMatchMethodProperty.Range`.
	Range interface{} `json:"range"`
	// `CfnRoute.GrpcRouteMetadataMatchMethodProperty.Regex`.
	Regex *string `json:"regex"`
	// `CfnRoute.GrpcRouteMetadataMatchMethodProperty.Suffix`.
	Suffix *string `json:"suffix"`
}

type CfnRoute_GrpcRouteMetadataProperty

type CfnRoute_GrpcRouteMetadataProperty struct {
	// `CfnRoute.GrpcRouteMetadataProperty.Name`.
	Name *string `json:"name"`
	// `CfnRoute.GrpcRouteMetadataProperty.Invert`.
	Invert interface{} `json:"invert"`
	// `CfnRoute.GrpcRouteMetadataProperty.Match`.
	Match interface{} `json:"match"`
}

type CfnRoute_GrpcRouteProperty

type CfnRoute_GrpcRouteProperty struct {
	// `CfnRoute.GrpcRouteProperty.Action`.
	Action interface{} `json:"action"`
	// `CfnRoute.GrpcRouteProperty.Match`.
	Match interface{} `json:"match"`
	// `CfnRoute.GrpcRouteProperty.RetryPolicy`.
	RetryPolicy interface{} `json:"retryPolicy"`
	// `CfnRoute.GrpcRouteProperty.Timeout`.
	Timeout interface{} `json:"timeout"`
}

type CfnRoute_GrpcTimeoutProperty

type CfnRoute_GrpcTimeoutProperty struct {
	// `CfnRoute.GrpcTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
	// `CfnRoute.GrpcTimeoutProperty.PerRequest`.
	PerRequest interface{} `json:"perRequest"`
}

type CfnRoute_HeaderMatchMethodProperty

type CfnRoute_HeaderMatchMethodProperty struct {
	// `CfnRoute.HeaderMatchMethodProperty.Exact`.
	Exact *string `json:"exact"`
	// `CfnRoute.HeaderMatchMethodProperty.Prefix`.
	Prefix *string `json:"prefix"`
	// `CfnRoute.HeaderMatchMethodProperty.Range`.
	Range interface{} `json:"range"`
	// `CfnRoute.HeaderMatchMethodProperty.Regex`.
	Regex *string `json:"regex"`
	// `CfnRoute.HeaderMatchMethodProperty.Suffix`.
	Suffix *string `json:"suffix"`
}

type CfnRoute_HttpRetryPolicyProperty

type CfnRoute_HttpRetryPolicyProperty struct {
	// `CfnRoute.HttpRetryPolicyProperty.MaxRetries`.
	MaxRetries *float64 `json:"maxRetries"`
	// `CfnRoute.HttpRetryPolicyProperty.PerRetryTimeout`.
	PerRetryTimeout interface{} `json:"perRetryTimeout"`
	// `CfnRoute.HttpRetryPolicyProperty.HttpRetryEvents`.
	HttpRetryEvents *[]*string `json:"httpRetryEvents"`
	// `CfnRoute.HttpRetryPolicyProperty.TcpRetryEvents`.
	TcpRetryEvents *[]*string `json:"tcpRetryEvents"`
}

type CfnRoute_HttpRouteActionProperty

type CfnRoute_HttpRouteActionProperty struct {
	// `CfnRoute.HttpRouteActionProperty.WeightedTargets`.
	WeightedTargets interface{} `json:"weightedTargets"`
}

type CfnRoute_HttpRouteHeaderProperty

type CfnRoute_HttpRouteHeaderProperty struct {
	// `CfnRoute.HttpRouteHeaderProperty.Name`.
	Name *string `json:"name"`
	// `CfnRoute.HttpRouteHeaderProperty.Invert`.
	Invert interface{} `json:"invert"`
	// `CfnRoute.HttpRouteHeaderProperty.Match`.
	Match interface{} `json:"match"`
}

type CfnRoute_HttpRouteMatchProperty

type CfnRoute_HttpRouteMatchProperty struct {
	// `CfnRoute.HttpRouteMatchProperty.Prefix`.
	Prefix *string `json:"prefix"`
	// `CfnRoute.HttpRouteMatchProperty.Headers`.
	Headers interface{} `json:"headers"`
	// `CfnRoute.HttpRouteMatchProperty.Method`.
	Method *string `json:"method"`
	// `CfnRoute.HttpRouteMatchProperty.Scheme`.
	Scheme *string `json:"scheme"`
}

type CfnRoute_HttpRouteProperty

type CfnRoute_HttpRouteProperty struct {
	// `CfnRoute.HttpRouteProperty.Action`.
	Action interface{} `json:"action"`
	// `CfnRoute.HttpRouteProperty.Match`.
	Match interface{} `json:"match"`
	// `CfnRoute.HttpRouteProperty.RetryPolicy`.
	RetryPolicy interface{} `json:"retryPolicy"`
	// `CfnRoute.HttpRouteProperty.Timeout`.
	Timeout interface{} `json:"timeout"`
}

type CfnRoute_HttpTimeoutProperty

type CfnRoute_HttpTimeoutProperty struct {
	// `CfnRoute.HttpTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
	// `CfnRoute.HttpTimeoutProperty.PerRequest`.
	PerRequest interface{} `json:"perRequest"`
}

type CfnRoute_MatchRangeProperty

type CfnRoute_MatchRangeProperty struct {
	// `CfnRoute.MatchRangeProperty.End`.
	End *float64 `json:"end"`
	// `CfnRoute.MatchRangeProperty.Start`.
	Start *float64 `json:"start"`
}

type CfnRoute_RouteSpecProperty

type CfnRoute_RouteSpecProperty struct {
	// `CfnRoute.RouteSpecProperty.GrpcRoute`.
	GrpcRoute interface{} `json:"grpcRoute"`
	// `CfnRoute.RouteSpecProperty.Http2Route`.
	Http2Route interface{} `json:"http2Route"`
	// `CfnRoute.RouteSpecProperty.HttpRoute`.
	HttpRoute interface{} `json:"httpRoute"`
	// `CfnRoute.RouteSpecProperty.Priority`.
	Priority *float64 `json:"priority"`
	// `CfnRoute.RouteSpecProperty.TcpRoute`.
	TcpRoute interface{} `json:"tcpRoute"`
}

type CfnRoute_TcpRouteActionProperty

type CfnRoute_TcpRouteActionProperty struct {
	// `CfnRoute.TcpRouteActionProperty.WeightedTargets`.
	WeightedTargets interface{} `json:"weightedTargets"`
}

type CfnRoute_TcpRouteProperty

type CfnRoute_TcpRouteProperty struct {
	// `CfnRoute.TcpRouteProperty.Action`.
	Action interface{} `json:"action"`
	// `CfnRoute.TcpRouteProperty.Timeout`.
	Timeout interface{} `json:"timeout"`
}

type CfnRoute_TcpTimeoutProperty

type CfnRoute_TcpTimeoutProperty struct {
	// `CfnRoute.TcpTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
}

type CfnRoute_WeightedTargetProperty

type CfnRoute_WeightedTargetProperty struct {
	// `CfnRoute.WeightedTargetProperty.VirtualNode`.
	VirtualNode *string `json:"virtualNode"`
	// `CfnRoute.WeightedTargetProperty.Weight`.
	Weight *float64 `json:"weight"`
}

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`.

func NewCfnVirtualGateway

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

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

type CfnVirtualGatewayProps

type CfnVirtualGatewayProps struct {
	// `AWS::AppMesh::VirtualGateway.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::VirtualGateway.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::VirtualGateway.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::VirtualGateway.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::AppMesh::VirtualGateway.VirtualGatewayName`.
	VirtualGatewayName *string `json:"virtualGatewayName"`
}

Properties for defining a `AWS::AppMesh::VirtualGateway`.

type CfnVirtualGateway_SubjectAlternativeNameMatchersProperty

type CfnVirtualGateway_SubjectAlternativeNameMatchersProperty struct {
	// `CfnVirtualGateway.SubjectAlternativeNameMatchersProperty.Exact`.
	Exact *[]*string `json:"exact"`
}

type CfnVirtualGateway_SubjectAlternativeNamesProperty

type CfnVirtualGateway_SubjectAlternativeNamesProperty struct {
	// `CfnVirtualGateway.SubjectAlternativeNamesProperty.Match`.
	Match interface{} `json:"match"`
}

type CfnVirtualGateway_VirtualGatewayAccessLogProperty

type CfnVirtualGateway_VirtualGatewayAccessLogProperty struct {
	// `CfnVirtualGateway.VirtualGatewayAccessLogProperty.File`.
	File interface{} `json:"file"`
}

type CfnVirtualGateway_VirtualGatewayBackendDefaultsProperty

type CfnVirtualGateway_VirtualGatewayBackendDefaultsProperty struct {
	// `CfnVirtualGateway.VirtualGatewayBackendDefaultsProperty.ClientPolicy`.
	ClientPolicy interface{} `json:"clientPolicy"`
}

type CfnVirtualGateway_VirtualGatewayClientPolicyProperty

type CfnVirtualGateway_VirtualGatewayClientPolicyProperty struct {
	// `CfnVirtualGateway.VirtualGatewayClientPolicyProperty.TLS`.
	Tls interface{} `json:"tls"`
}

type CfnVirtualGateway_VirtualGatewayClientPolicyTlsProperty

type CfnVirtualGateway_VirtualGatewayClientPolicyTlsProperty struct {
	// `CfnVirtualGateway.VirtualGatewayClientPolicyTlsProperty.Validation`.
	Validation interface{} `json:"validation"`
	// `CfnVirtualGateway.VirtualGatewayClientPolicyTlsProperty.Certificate`.
	Certificate interface{} `json:"certificate"`
	// `CfnVirtualGateway.VirtualGatewayClientPolicyTlsProperty.Enforce`.
	Enforce interface{} `json:"enforce"`
	// `CfnVirtualGateway.VirtualGatewayClientPolicyTlsProperty.Ports`.
	Ports interface{} `json:"ports"`
}

type CfnVirtualGateway_VirtualGatewayClientTlsCertificateProperty

type CfnVirtualGateway_VirtualGatewayClientTlsCertificateProperty struct {
	// `CfnVirtualGateway.VirtualGatewayClientTlsCertificateProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualGateway.VirtualGatewayClientTlsCertificateProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualGateway_VirtualGatewayConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayConnectionPoolProperty struct {
	// `CfnVirtualGateway.VirtualGatewayConnectionPoolProperty.GRPC`.
	Grpc interface{} `json:"grpc"`
	// `CfnVirtualGateway.VirtualGatewayConnectionPoolProperty.HTTP`.
	Http interface{} `json:"http"`
	// `CfnVirtualGateway.VirtualGatewayConnectionPoolProperty.HTTP2`.
	Http2 interface{} `json:"http2"`
}

type CfnVirtualGateway_VirtualGatewayFileAccessLogProperty

type CfnVirtualGateway_VirtualGatewayFileAccessLogProperty struct {
	// `CfnVirtualGateway.VirtualGatewayFileAccessLogProperty.Path`.
	Path *string `json:"path"`
}

type CfnVirtualGateway_VirtualGatewayGrpcConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayGrpcConnectionPoolProperty struct {
	// `CfnVirtualGateway.VirtualGatewayGrpcConnectionPoolProperty.MaxRequests`.
	MaxRequests *float64 `json:"maxRequests"`
}

type CfnVirtualGateway_VirtualGatewayHealthCheckPolicyProperty

type CfnVirtualGateway_VirtualGatewayHealthCheckPolicyProperty struct {
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.HealthyThreshold`.
	HealthyThreshold *float64 `json:"healthyThreshold"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.IntervalMillis`.
	IntervalMillis *float64 `json:"intervalMillis"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.Protocol`.
	Protocol *string `json:"protocol"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.TimeoutMillis`.
	TimeoutMillis *float64 `json:"timeoutMillis"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.UnhealthyThreshold`.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.Path`.
	Path *string `json:"path"`
	// `CfnVirtualGateway.VirtualGatewayHealthCheckPolicyProperty.Port`.
	Port *float64 `json:"port"`
}

type CfnVirtualGateway_VirtualGatewayHttp2ConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayHttp2ConnectionPoolProperty struct {
	// `CfnVirtualGateway.VirtualGatewayHttp2ConnectionPoolProperty.MaxRequests`.
	MaxRequests *float64 `json:"maxRequests"`
}

type CfnVirtualGateway_VirtualGatewayHttpConnectionPoolProperty

type CfnVirtualGateway_VirtualGatewayHttpConnectionPoolProperty struct {
	// `CfnVirtualGateway.VirtualGatewayHttpConnectionPoolProperty.MaxConnections`.
	MaxConnections *float64 `json:"maxConnections"`
	// `CfnVirtualGateway.VirtualGatewayHttpConnectionPoolProperty.MaxPendingRequests`.
	MaxPendingRequests *float64 `json:"maxPendingRequests"`
}

type CfnVirtualGateway_VirtualGatewayListenerProperty

type CfnVirtualGateway_VirtualGatewayListenerProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerProperty.PortMapping`.
	PortMapping interface{} `json:"portMapping"`
	// `CfnVirtualGateway.VirtualGatewayListenerProperty.ConnectionPool`.
	ConnectionPool interface{} `json:"connectionPool"`
	// `CfnVirtualGateway.VirtualGatewayListenerProperty.HealthCheck`.
	HealthCheck interface{} `json:"healthCheck"`
	// `CfnVirtualGateway.VirtualGatewayListenerProperty.TLS`.
	Tls interface{} `json:"tls"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsAcmCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsAcmCertificateProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsAcmCertificateProperty.CertificateArn`.
	CertificateArn *string `json:"certificateArn"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsCertificateProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsCertificateProperty.ACM`.
	Acm interface{} `json:"acm"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsCertificateProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsCertificateProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsFileCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsFileCertificateProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty.CertificateChain`.
	CertificateChain *string `json:"certificateChain"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsFileCertificateProperty.PrivateKey`.
	PrivateKey *string `json:"privateKey"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsProperty.Certificate`.
	Certificate interface{} `json:"certificate"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsProperty.Mode`.
	Mode *string `json:"mode"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsProperty.Validation`.
	Validation interface{} `json:"validation"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsSdsCertificateProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsSdsCertificateProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsSdsCertificateProperty.SecretName`.
	SecretName *string `json:"secretName"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsValidationContextProperty.Trust`.
	Trust interface{} `json:"trust"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsValidationContextProperty.SubjectAlternativeNames`.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames"`
}

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextTrustProperty

type CfnVirtualGateway_VirtualGatewayListenerTlsValidationContextTrustProperty struct {
	// `CfnVirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualGateway.VirtualGatewayListenerTlsValidationContextTrustProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualGateway_VirtualGatewayLoggingProperty

type CfnVirtualGateway_VirtualGatewayLoggingProperty struct {
	// `CfnVirtualGateway.VirtualGatewayLoggingProperty.AccessLog`.
	AccessLog interface{} `json:"accessLog"`
}

type CfnVirtualGateway_VirtualGatewayPortMappingProperty

type CfnVirtualGateway_VirtualGatewayPortMappingProperty struct {
	// `CfnVirtualGateway.VirtualGatewayPortMappingProperty.Port`.
	Port *float64 `json:"port"`
	// `CfnVirtualGateway.VirtualGatewayPortMappingProperty.Protocol`.
	Protocol *string `json:"protocol"`
}

type CfnVirtualGateway_VirtualGatewaySpecProperty

type CfnVirtualGateway_VirtualGatewaySpecProperty struct {
	// `CfnVirtualGateway.VirtualGatewaySpecProperty.Listeners`.
	Listeners interface{} `json:"listeners"`
	// `CfnVirtualGateway.VirtualGatewaySpecProperty.BackendDefaults`.
	BackendDefaults interface{} `json:"backendDefaults"`
	// `CfnVirtualGateway.VirtualGatewaySpecProperty.Logging`.
	Logging interface{} `json:"logging"`
}

type CfnVirtualGateway_VirtualGatewayTlsValidationContextAcmTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextAcmTrustProperty struct {
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextAcmTrustProperty.CertificateAuthorityArns`.
	CertificateAuthorityArns *[]*string `json:"certificateAuthorityArns"`
}

type CfnVirtualGateway_VirtualGatewayTlsValidationContextFileTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextFileTrustProperty struct {
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextFileTrustProperty.CertificateChain`.
	CertificateChain *string `json:"certificateChain"`
}

type CfnVirtualGateway_VirtualGatewayTlsValidationContextProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextProperty struct {
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextProperty.Trust`.
	Trust interface{} `json:"trust"`
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextProperty.SubjectAlternativeNames`.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames"`
}

type CfnVirtualGateway_VirtualGatewayTlsValidationContextSdsTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextSdsTrustProperty struct {
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextSdsTrustProperty.SecretName`.
	SecretName *string `json:"secretName"`
}

type CfnVirtualGateway_VirtualGatewayTlsValidationContextTrustProperty

type CfnVirtualGateway_VirtualGatewayTlsValidationContextTrustProperty struct {
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextTrustProperty.ACM`.
	Acm interface{} `json:"acm"`
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextTrustProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualGateway.VirtualGatewayTlsValidationContextTrustProperty.SDS`.
	Sds interface{} `json:"sds"`
}

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`.

func NewCfnVirtualNode

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

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

type CfnVirtualNodeProps

type CfnVirtualNodeProps struct {
	// `AWS::AppMesh::VirtualNode.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::VirtualNode.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::VirtualNode.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::VirtualNode.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::AppMesh::VirtualNode.VirtualNodeName`.
	VirtualNodeName *string `json:"virtualNodeName"`
}

Properties for defining a `AWS::AppMesh::VirtualNode`.

type CfnVirtualNode_AccessLogProperty

type CfnVirtualNode_AccessLogProperty struct {
	// `CfnVirtualNode.AccessLogProperty.File`.
	File interface{} `json:"file"`
}

type CfnVirtualNode_AwsCloudMapInstanceAttributeProperty

type CfnVirtualNode_AwsCloudMapInstanceAttributeProperty struct {
	// `CfnVirtualNode.AwsCloudMapInstanceAttributeProperty.Key`.
	Key *string `json:"key"`
	// `CfnVirtualNode.AwsCloudMapInstanceAttributeProperty.Value`.
	Value *string `json:"value"`
}

type CfnVirtualNode_AwsCloudMapServiceDiscoveryProperty

type CfnVirtualNode_AwsCloudMapServiceDiscoveryProperty struct {
	// `CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty.NamespaceName`.
	NamespaceName *string `json:"namespaceName"`
	// `CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty.ServiceName`.
	ServiceName *string `json:"serviceName"`
	// `CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty.Attributes`.
	Attributes interface{} `json:"attributes"`
}

type CfnVirtualNode_BackendDefaultsProperty

type CfnVirtualNode_BackendDefaultsProperty struct {
	// `CfnVirtualNode.BackendDefaultsProperty.ClientPolicy`.
	ClientPolicy interface{} `json:"clientPolicy"`
}

type CfnVirtualNode_BackendProperty

type CfnVirtualNode_BackendProperty struct {
	// `CfnVirtualNode.BackendProperty.VirtualService`.
	VirtualService interface{} `json:"virtualService"`
}

type CfnVirtualNode_ClientPolicyProperty

type CfnVirtualNode_ClientPolicyProperty struct {
	// `CfnVirtualNode.ClientPolicyProperty.TLS`.
	Tls interface{} `json:"tls"`
}

type CfnVirtualNode_ClientPolicyTlsProperty

type CfnVirtualNode_ClientPolicyTlsProperty struct {
	// `CfnVirtualNode.ClientPolicyTlsProperty.Validation`.
	Validation interface{} `json:"validation"`
	// `CfnVirtualNode.ClientPolicyTlsProperty.Certificate`.
	Certificate interface{} `json:"certificate"`
	// `CfnVirtualNode.ClientPolicyTlsProperty.Enforce`.
	Enforce interface{} `json:"enforce"`
	// `CfnVirtualNode.ClientPolicyTlsProperty.Ports`.
	Ports interface{} `json:"ports"`
}

type CfnVirtualNode_ClientTlsCertificateProperty

type CfnVirtualNode_ClientTlsCertificateProperty struct {
	// `CfnVirtualNode.ClientTlsCertificateProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualNode.ClientTlsCertificateProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualNode_DnsServiceDiscoveryProperty

type CfnVirtualNode_DnsServiceDiscoveryProperty struct {
	// `CfnVirtualNode.DnsServiceDiscoveryProperty.Hostname`.
	Hostname *string `json:"hostname"`
}

type CfnVirtualNode_DurationProperty

type CfnVirtualNode_DurationProperty struct {
	// `CfnVirtualNode.DurationProperty.Unit`.
	Unit *string `json:"unit"`
	// `CfnVirtualNode.DurationProperty.Value`.
	Value *float64 `json:"value"`
}

type CfnVirtualNode_FileAccessLogProperty

type CfnVirtualNode_FileAccessLogProperty struct {
	// `CfnVirtualNode.FileAccessLogProperty.Path`.
	Path *string `json:"path"`
}

type CfnVirtualNode_GrpcTimeoutProperty

type CfnVirtualNode_GrpcTimeoutProperty struct {
	// `CfnVirtualNode.GrpcTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
	// `CfnVirtualNode.GrpcTimeoutProperty.PerRequest`.
	PerRequest interface{} `json:"perRequest"`
}

type CfnVirtualNode_HealthCheckProperty

type CfnVirtualNode_HealthCheckProperty struct {
	// `CfnVirtualNode.HealthCheckProperty.HealthyThreshold`.
	HealthyThreshold *float64 `json:"healthyThreshold"`
	// `CfnVirtualNode.HealthCheckProperty.IntervalMillis`.
	IntervalMillis *float64 `json:"intervalMillis"`
	// `CfnVirtualNode.HealthCheckProperty.Protocol`.
	Protocol *string `json:"protocol"`
	// `CfnVirtualNode.HealthCheckProperty.TimeoutMillis`.
	TimeoutMillis *float64 `json:"timeoutMillis"`
	// `CfnVirtualNode.HealthCheckProperty.UnhealthyThreshold`.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold"`
	// `CfnVirtualNode.HealthCheckProperty.Path`.
	Path *string `json:"path"`
	// `CfnVirtualNode.HealthCheckProperty.Port`.
	Port *float64 `json:"port"`
}

type CfnVirtualNode_HttpTimeoutProperty

type CfnVirtualNode_HttpTimeoutProperty struct {
	// `CfnVirtualNode.HttpTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
	// `CfnVirtualNode.HttpTimeoutProperty.PerRequest`.
	PerRequest interface{} `json:"perRequest"`
}

type CfnVirtualNode_ListenerProperty

type CfnVirtualNode_ListenerProperty struct {
	// `CfnVirtualNode.ListenerProperty.PortMapping`.
	PortMapping interface{} `json:"portMapping"`
	// `CfnVirtualNode.ListenerProperty.ConnectionPool`.
	ConnectionPool interface{} `json:"connectionPool"`
	// `CfnVirtualNode.ListenerProperty.HealthCheck`.
	HealthCheck interface{} `json:"healthCheck"`
	// `CfnVirtualNode.ListenerProperty.OutlierDetection`.
	OutlierDetection interface{} `json:"outlierDetection"`
	// `CfnVirtualNode.ListenerProperty.Timeout`.
	Timeout interface{} `json:"timeout"`
	// `CfnVirtualNode.ListenerProperty.TLS`.
	Tls interface{} `json:"tls"`
}

type CfnVirtualNode_ListenerTimeoutProperty

type CfnVirtualNode_ListenerTimeoutProperty struct {
	// `CfnVirtualNode.ListenerTimeoutProperty.GRPC`.
	Grpc interface{} `json:"grpc"`
	// `CfnVirtualNode.ListenerTimeoutProperty.HTTP`.
	Http interface{} `json:"http"`
	// `CfnVirtualNode.ListenerTimeoutProperty.HTTP2`.
	Http2 interface{} `json:"http2"`
	// `CfnVirtualNode.ListenerTimeoutProperty.TCP`.
	Tcp interface{} `json:"tcp"`
}

type CfnVirtualNode_ListenerTlsAcmCertificateProperty

type CfnVirtualNode_ListenerTlsAcmCertificateProperty struct {
	// `CfnVirtualNode.ListenerTlsAcmCertificateProperty.CertificateArn`.
	CertificateArn *string `json:"certificateArn"`
}

type CfnVirtualNode_ListenerTlsCertificateProperty

type CfnVirtualNode_ListenerTlsCertificateProperty struct {
	// `CfnVirtualNode.ListenerTlsCertificateProperty.ACM`.
	Acm interface{} `json:"acm"`
	// `CfnVirtualNode.ListenerTlsCertificateProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualNode.ListenerTlsCertificateProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualNode_ListenerTlsFileCertificateProperty

type CfnVirtualNode_ListenerTlsFileCertificateProperty struct {
	// `CfnVirtualNode.ListenerTlsFileCertificateProperty.CertificateChain`.
	CertificateChain *string `json:"certificateChain"`
	// `CfnVirtualNode.ListenerTlsFileCertificateProperty.PrivateKey`.
	PrivateKey *string `json:"privateKey"`
}

type CfnVirtualNode_ListenerTlsProperty

type CfnVirtualNode_ListenerTlsProperty struct {
	// `CfnVirtualNode.ListenerTlsProperty.Certificate`.
	Certificate interface{} `json:"certificate"`
	// `CfnVirtualNode.ListenerTlsProperty.Mode`.
	Mode *string `json:"mode"`
	// `CfnVirtualNode.ListenerTlsProperty.Validation`.
	Validation interface{} `json:"validation"`
}

type CfnVirtualNode_ListenerTlsSdsCertificateProperty

type CfnVirtualNode_ListenerTlsSdsCertificateProperty struct {
	// `CfnVirtualNode.ListenerTlsSdsCertificateProperty.SecretName`.
	SecretName *string `json:"secretName"`
}

type CfnVirtualNode_ListenerTlsValidationContextProperty

type CfnVirtualNode_ListenerTlsValidationContextProperty struct {
	// `CfnVirtualNode.ListenerTlsValidationContextProperty.Trust`.
	Trust interface{} `json:"trust"`
	// `CfnVirtualNode.ListenerTlsValidationContextProperty.SubjectAlternativeNames`.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames"`
}

type CfnVirtualNode_ListenerTlsValidationContextTrustProperty

type CfnVirtualNode_ListenerTlsValidationContextTrustProperty struct {
	// `CfnVirtualNode.ListenerTlsValidationContextTrustProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualNode.ListenerTlsValidationContextTrustProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualNode_LoggingProperty

type CfnVirtualNode_LoggingProperty struct {
	// `CfnVirtualNode.LoggingProperty.AccessLog`.
	AccessLog interface{} `json:"accessLog"`
}

type CfnVirtualNode_OutlierDetectionProperty

type CfnVirtualNode_OutlierDetectionProperty struct {
	// `CfnVirtualNode.OutlierDetectionProperty.BaseEjectionDuration`.
	BaseEjectionDuration interface{} `json:"baseEjectionDuration"`
	// `CfnVirtualNode.OutlierDetectionProperty.Interval`.
	Interval interface{} `json:"interval"`
	// `CfnVirtualNode.OutlierDetectionProperty.MaxEjectionPercent`.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent"`
	// `CfnVirtualNode.OutlierDetectionProperty.MaxServerErrors`.
	MaxServerErrors *float64 `json:"maxServerErrors"`
}

type CfnVirtualNode_PortMappingProperty

type CfnVirtualNode_PortMappingProperty struct {
	// `CfnVirtualNode.PortMappingProperty.Port`.
	Port *float64 `json:"port"`
	// `CfnVirtualNode.PortMappingProperty.Protocol`.
	Protocol *string `json:"protocol"`
}

type CfnVirtualNode_ServiceDiscoveryProperty

type CfnVirtualNode_ServiceDiscoveryProperty struct {
	// `CfnVirtualNode.ServiceDiscoveryProperty.AWSCloudMap`.
	AwsCloudMap interface{} `json:"awsCloudMap"`
	// `CfnVirtualNode.ServiceDiscoveryProperty.DNS`.
	Dns interface{} `json:"dns"`
}

type CfnVirtualNode_SubjectAlternativeNameMatchersProperty

type CfnVirtualNode_SubjectAlternativeNameMatchersProperty struct {
	// `CfnVirtualNode.SubjectAlternativeNameMatchersProperty.Exact`.
	Exact *[]*string `json:"exact"`
}

type CfnVirtualNode_SubjectAlternativeNamesProperty

type CfnVirtualNode_SubjectAlternativeNamesProperty struct {
	// `CfnVirtualNode.SubjectAlternativeNamesProperty.Match`.
	Match interface{} `json:"match"`
}

type CfnVirtualNode_TcpTimeoutProperty

type CfnVirtualNode_TcpTimeoutProperty struct {
	// `CfnVirtualNode.TcpTimeoutProperty.Idle`.
	Idle interface{} `json:"idle"`
}

type CfnVirtualNode_TlsValidationContextAcmTrustProperty

type CfnVirtualNode_TlsValidationContextAcmTrustProperty struct {
	// `CfnVirtualNode.TlsValidationContextAcmTrustProperty.CertificateAuthorityArns`.
	CertificateAuthorityArns *[]*string `json:"certificateAuthorityArns"`
}

type CfnVirtualNode_TlsValidationContextFileTrustProperty

type CfnVirtualNode_TlsValidationContextFileTrustProperty struct {
	// `CfnVirtualNode.TlsValidationContextFileTrustProperty.CertificateChain`.
	CertificateChain *string `json:"certificateChain"`
}

type CfnVirtualNode_TlsValidationContextProperty

type CfnVirtualNode_TlsValidationContextProperty struct {
	// `CfnVirtualNode.TlsValidationContextProperty.Trust`.
	Trust interface{} `json:"trust"`
	// `CfnVirtualNode.TlsValidationContextProperty.SubjectAlternativeNames`.
	SubjectAlternativeNames interface{} `json:"subjectAlternativeNames"`
}

type CfnVirtualNode_TlsValidationContextSdsTrustProperty

type CfnVirtualNode_TlsValidationContextSdsTrustProperty struct {
	// `CfnVirtualNode.TlsValidationContextSdsTrustProperty.SecretName`.
	SecretName *string `json:"secretName"`
}

type CfnVirtualNode_TlsValidationContextTrustProperty

type CfnVirtualNode_TlsValidationContextTrustProperty struct {
	// `CfnVirtualNode.TlsValidationContextTrustProperty.ACM`.
	Acm interface{} `json:"acm"`
	// `CfnVirtualNode.TlsValidationContextTrustProperty.File`.
	File interface{} `json:"file"`
	// `CfnVirtualNode.TlsValidationContextTrustProperty.SDS`.
	Sds interface{} `json:"sds"`
}

type CfnVirtualNode_VirtualNodeConnectionPoolProperty

type CfnVirtualNode_VirtualNodeConnectionPoolProperty struct {
	// `CfnVirtualNode.VirtualNodeConnectionPoolProperty.GRPC`.
	Grpc interface{} `json:"grpc"`
	// `CfnVirtualNode.VirtualNodeConnectionPoolProperty.HTTP`.
	Http interface{} `json:"http"`
	// `CfnVirtualNode.VirtualNodeConnectionPoolProperty.HTTP2`.
	Http2 interface{} `json:"http2"`
	// `CfnVirtualNode.VirtualNodeConnectionPoolProperty.TCP`.
	Tcp interface{} `json:"tcp"`
}

type CfnVirtualNode_VirtualNodeGrpcConnectionPoolProperty

type CfnVirtualNode_VirtualNodeGrpcConnectionPoolProperty struct {
	// `CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty.MaxRequests`.
	MaxRequests *float64 `json:"maxRequests"`
}

type CfnVirtualNode_VirtualNodeHttp2ConnectionPoolProperty

type CfnVirtualNode_VirtualNodeHttp2ConnectionPoolProperty struct {
	// `CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty.MaxRequests`.
	MaxRequests *float64 `json:"maxRequests"`
}

type CfnVirtualNode_VirtualNodeHttpConnectionPoolProperty

type CfnVirtualNode_VirtualNodeHttpConnectionPoolProperty struct {
	// `CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty.MaxConnections`.
	MaxConnections *float64 `json:"maxConnections"`
	// `CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty.MaxPendingRequests`.
	MaxPendingRequests *float64 `json:"maxPendingRequests"`
}

type CfnVirtualNode_VirtualNodeSpecProperty

type CfnVirtualNode_VirtualNodeSpecProperty struct {
	// `CfnVirtualNode.VirtualNodeSpecProperty.BackendDefaults`.
	BackendDefaults interface{} `json:"backendDefaults"`
	// `CfnVirtualNode.VirtualNodeSpecProperty.Backends`.
	Backends interface{} `json:"backends"`
	// `CfnVirtualNode.VirtualNodeSpecProperty.Listeners`.
	Listeners interface{} `json:"listeners"`
	// `CfnVirtualNode.VirtualNodeSpecProperty.Logging`.
	Logging interface{} `json:"logging"`
	// `CfnVirtualNode.VirtualNodeSpecProperty.ServiceDiscovery`.
	ServiceDiscovery interface{} `json:"serviceDiscovery"`
}

type CfnVirtualNode_VirtualNodeTcpConnectionPoolProperty

type CfnVirtualNode_VirtualNodeTcpConnectionPoolProperty struct {
	// `CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty.MaxConnections`.
	MaxConnections *float64 `json:"maxConnections"`
}

type CfnVirtualNode_VirtualServiceBackendProperty

type CfnVirtualNode_VirtualServiceBackendProperty struct {
	// `CfnVirtualNode.VirtualServiceBackendProperty.VirtualServiceName`.
	VirtualServiceName *string `json:"virtualServiceName"`
	// `CfnVirtualNode.VirtualServiceBackendProperty.ClientPolicy`.
	ClientPolicy interface{} `json:"clientPolicy"`
}

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`.

func NewCfnVirtualRouter

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

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

type CfnVirtualRouterProps

type CfnVirtualRouterProps struct {
	// `AWS::AppMesh::VirtualRouter.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::VirtualRouter.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::VirtualRouter.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::VirtualRouter.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::AppMesh::VirtualRouter.VirtualRouterName`.
	VirtualRouterName *string `json:"virtualRouterName"`
}

Properties for defining a `AWS::AppMesh::VirtualRouter`.

type CfnVirtualRouter_PortMappingProperty

type CfnVirtualRouter_PortMappingProperty struct {
	// `CfnVirtualRouter.PortMappingProperty.Port`.
	Port *float64 `json:"port"`
	// `CfnVirtualRouter.PortMappingProperty.Protocol`.
	Protocol *string `json:"protocol"`
}

type CfnVirtualRouter_VirtualRouterListenerProperty

type CfnVirtualRouter_VirtualRouterListenerProperty struct {
	// `CfnVirtualRouter.VirtualRouterListenerProperty.PortMapping`.
	PortMapping interface{} `json:"portMapping"`
}

type CfnVirtualRouter_VirtualRouterSpecProperty

type CfnVirtualRouter_VirtualRouterSpecProperty struct {
	// `CfnVirtualRouter.VirtualRouterSpecProperty.Listeners`.
	Listeners interface{} `json:"listeners"`
}

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`.

func NewCfnVirtualService

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

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

type CfnVirtualServiceProps

type CfnVirtualServiceProps struct {
	// `AWS::AppMesh::VirtualService.MeshName`.
	MeshName *string `json:"meshName"`
	// `AWS::AppMesh::VirtualService.Spec`.
	Spec interface{} `json:"spec"`
	// `AWS::AppMesh::VirtualService.VirtualServiceName`.
	VirtualServiceName *string `json:"virtualServiceName"`
	// `AWS::AppMesh::VirtualService.MeshOwner`.
	MeshOwner *string `json:"meshOwner"`
	// `AWS::AppMesh::VirtualService.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::AppMesh::VirtualService`.

type CfnVirtualService_VirtualNodeServiceProviderProperty

type CfnVirtualService_VirtualNodeServiceProviderProperty struct {
	// `CfnVirtualService.VirtualNodeServiceProviderProperty.VirtualNodeName`.
	VirtualNodeName *string `json:"virtualNodeName"`
}

type CfnVirtualService_VirtualRouterServiceProviderProperty

type CfnVirtualService_VirtualRouterServiceProviderProperty struct {
	// `CfnVirtualService.VirtualRouterServiceProviderProperty.VirtualRouterName`.
	VirtualRouterName *string `json:"virtualRouterName"`
}

type CfnVirtualService_VirtualServiceProviderProperty

type CfnVirtualService_VirtualServiceProviderProperty struct {
	// `CfnVirtualService.VirtualServiceProviderProperty.VirtualNode`.
	VirtualNode interface{} `json:"virtualNode"`
	// `CfnVirtualService.VirtualServiceProviderProperty.VirtualRouter`.
	VirtualRouter interface{} `json:"virtualRouter"`
}

type CfnVirtualService_VirtualServiceSpecProperty

type CfnVirtualService_VirtualServiceSpecProperty struct {
	// `CfnVirtualService.VirtualServiceSpecProperty.Provider`.
	Provider interface{} `json:"provider"`
}

type ClientPolicy

type ClientPolicy interface {
	Bind(scope awscdk.Construct) *ClientPolicyConfig
}

Defines the TLS validation context trust. Experimental.

func ClientPolicy_AcmTrust

func ClientPolicy_AcmTrust(props *AcmTrustOptions) ClientPolicy

TLS validation context trust for ACM Private Certificate Authority (CA). Experimental.

func ClientPolicy_FileTrust

func ClientPolicy_FileTrust(props *FileTrustOptions) ClientPolicy

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

type ClientPolicyConfig

type ClientPolicyConfig struct {
	// Represents single Client Policy property.
	// Experimental.
	ClientPolicy *CfnVirtualNode_ClientPolicyProperty `json:"clientPolicy"`
}

Properties of TLS Client Policy. Experimental.

type ClientPolicyOptions

type ClientPolicyOptions struct {
	// 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"`
}

Represents the property needed to define a Client Policy. Experimental.

type CloudMapServiceDiscoveryOptions

type CloudMapServiceDiscoveryOptions struct {
	// The AWS Cloud Map Service to use for service discovery.
	// Experimental.
	Service awsservicediscovery.IService `json:"service"`
	// 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.
	// Experimental.
	InstanceAttributes *map[string]*string `json:"instanceAttributes"`
}

Represents the properties needed to define CloudMap Service Discovery. Experimental.

type FileCertificateOptions

type FileCertificateOptions struct {
	// The file path of the certificate chain file.
	// Experimental.
	CertificateChainPath *string `json:"certificateChainPath"`
	// The file path of the private key file.
	// Experimental.
	PrivateKeyPath *string `json:"privateKeyPath"`
	// The TLS mode.
	// Experimental.
	TlsMode TlsMode `json:"tlsMode"`
}

File Certificate Properties. Experimental.

type FileTrustOptions

type FileTrustOptions struct {
	// 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"`
	// Path to the Certificate Chain file on the file system where the Envoy is deployed.
	// Experimental.
	CertificateChain *string `json:"certificateChain"`
}

File Trust Properties. Experimental.

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. 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"`
	// The VirtualGateway this GatewayRoute is associated with.
	// Experimental.
	VirtualGateway IVirtualGateway `json:"virtualGateway"`
}

Interface with properties necessary to import a reusable GatewayRoute. Experimental.

type GatewayRouteBaseProps

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

Basic configuration properties for a GatewayRoute. Experimental.

type GatewayRouteProps

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

Properties to define a new GatewayRoute. Experimental.

type GatewayRouteSpec

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

Used to generate specs with different protocols for a GatewayRoute. 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"`
	// The spec for an http2 gateway route.
	// Experimental.
	Http2SpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `json:"http2SpecConfig"`
	// The spec for an http gateway route.
	// Experimental.
	HttpSpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `json:"httpSpecConfig"`
}

All Properties for GatewayRoute Specs. Experimental.

type GrpcGatewayListenerOptions

type GrpcGatewayListenerOptions struct {
	// The health check information for the listener.
	// Experimental.
	HealthCheck *HealthCheck `json:"healthCheck"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port"`
	// Represents the listener certificate.
	// Experimental.
	TlsCertificate TlsCertificate `json:"tlsCertificate"`
}

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

type GrpcGatewayRouteMatch

type GrpcGatewayRouteMatch struct {
	// The fully qualified domain name for the service to match from the request.
	// Experimental.
	ServiceName *string `json:"serviceName"`
}

The criterion for determining a request match for this GatewayRoute. Experimental.

type GrpcGatewayRouteSpecOptions

type GrpcGatewayRouteSpecOptions struct {
	// The criterion for determining a request match for this GatewayRoute.
	// Experimental.
	Match *GrpcGatewayRouteMatch `json:"match"`
	// The VirtualService this GatewayRoute directs traffic to.
	// Experimental.
	RouteTarget IVirtualService `json:"routeTarget"`
}

Properties specific for a GRPC GatewayRoute. Experimental.

type GrpcRetryEvent

type GrpcRetryEvent string

gRPC events. 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"`
	// The timeout for each retry attempt.
	// Experimental.
	RetryTimeout awscdk.Duration `json:"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"`
	// 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"`
	// 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"`
}

gRPC retry policy. Experimental.

type GrpcRouteMatch

type GrpcRouteMatch struct {
	// The fully qualified domain name for the service to match from the request.
	// Experimental.
	ServiceName *string `json:"serviceName"`
}

The criterion for determining a request match for this GatewayRoute. Experimental.

type GrpcRouteSpecOptions

type GrpcRouteSpecOptions struct {
	// The priority for the route.
	//
	// Routes are matched based on the specified
	// value, where 0 is the highest priority.
	// Experimental.
	Priority *float64 `json:"priority"`
	// The criterion for determining a request match for this Route.
	// Experimental.
	Match *GrpcRouteMatch `json:"match"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets"`
	// The retry policy.
	// Experimental.
	RetryPolicy *GrpcRetryPolicy `json:"retryPolicy"`
	// An object that represents a grpc timeout.
	// Experimental.
	Timeout *GrpcTimeout `json:"timeout"`
}

Properties specific for a GRPC Based Routes. 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"`
	// Represents per request timeout.
	// Experimental.
	PerRequest awscdk.Duration `json:"perRequest"`
}

Represents timeouts for GRPC protocols. Experimental.

type GrpcVirtualNodeListenerOptions

type GrpcVirtualNodeListenerOptions struct {
	// The health check information for the listener.
	// Experimental.
	HealthCheck *HealthCheck `json:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port"`
	// Timeout for GRPC protocol.
	// Experimental.
	Timeout *GrpcTimeout `json:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	TlsCertificate TlsCertificate `json:"tlsCertificate"`
}

Represent the GRPC Node Listener prorperty. Experimental.

type HealthCheck

type HealthCheck struct {
	// Number of successful attempts before considering the node UP.
	// Experimental.
	HealthyThreshold *float64 `json:"healthyThreshold"`
	// Interval in milliseconds to re-check.
	// Experimental.
	Interval awscdk.Duration `json:"interval"`
	// The path where the application expects any health-checks, this can also be the application path.
	// Experimental.
	Path *string `json:"path"`
	// The TCP port number for the healthcheck.
	// Experimental.
	Port *float64 `json:"port"`
	// The protocol to use for the healthcheck, for convinience a const enum has been defined.
	//
	// Protocol.HTTP or Protocol.TCP
	// Experimental.
	Protocol Protocol `json:"protocol"`
	// Timeout in milli-seconds for the healthcheck to be considered a fail.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// Number of failed attempts before considering the node DOWN.
	// Experimental.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold"`
}

Properties used to define healthchecks when creating virtual nodes.

All values have a default if only specified as {} when creating. If property not set, then no healthchecks will be defined. Experimental.

type HttpGatewayListenerOptions

type HttpGatewayListenerOptions struct {
	// The health check information for the listener.
	// Experimental.
	HealthCheck *HealthCheck `json:"healthCheck"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	TlsCertificate TlsCertificate `json:"tlsCertificate"`
}

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

type HttpGatewayRouteMatch

type HttpGatewayRouteMatch struct {
	// 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.
	// Experimental.
	PrefixPath *string `json:"prefixPath"`
}

The criterion for determining a request match for this GatewayRoute. Experimental.

type HttpGatewayRouteSpecOptions

type HttpGatewayRouteSpecOptions struct {
	// The VirtualService this GatewayRoute directs traffic to.
	// Experimental.
	RouteTarget IVirtualService `json:"routeTarget"`
	// The criterion for determining a request match for this GatewayRoute.
	// Experimental.
	Match *HttpGatewayRouteMatch `json:"match"`
}

Properties specific for HTTP Based GatewayRoutes. Experimental.

type HttpHeaderMatch

type HttpHeaderMatch interface {
	Bind(scope awscdk.Construct) *HttpHeaderMatchConfig
}

Used to generate header matching methods. Experimental.

func HttpHeaderMatch_ValueDoesNotEndWith

func HttpHeaderMatch_ValueDoesNotEndWith(headerName *string, suffix *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueDoesNotMatchRegex

func HttpHeaderMatch_ValueDoesNotMatchRegex(headerName *string, regex *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueDoesNotStartWith

func HttpHeaderMatch_ValueDoesNotStartWith(headerName *string, prefix *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueEndsWith

func HttpHeaderMatch_ValueEndsWith(headerName *string, suffix *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueIs

func HttpHeaderMatch_ValueIs(headerName *string, headerValue *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueIsNot

func HttpHeaderMatch_ValueIsNot(headerName *string, headerValue *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueMatchesRegex

func HttpHeaderMatch_ValueMatchesRegex(headerName *string, regex *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValueStartsWith

func HttpHeaderMatch_ValueStartsWith(headerName *string, prefix *string) HttpHeaderMatch

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

func HttpHeaderMatch_ValuesIsInRange

func HttpHeaderMatch_ValuesIsInRange(headerName *string, start *float64, end *float64) HttpHeaderMatch

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

func HttpHeaderMatch_ValuesIsNotInRange

func HttpHeaderMatch_ValuesIsNotInRange(headerName *string, start *float64, end *float64) HttpHeaderMatch

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

type HttpHeaderMatchConfig

type HttpHeaderMatchConfig struct {
	// The HTTP route header.
	// Experimental.
	HttpRouteHeader *CfnRoute_HttpRouteHeaderProperty `json:"httpRouteHeader"`
}

Configuration for `HeaderMatch`. Experimental.

type HttpRetryEvent

type HttpRetryEvent string

HTTP events on which to retry. 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"`
	// The timeout for each retry attempt.
	// Experimental.
	RetryTimeout awscdk.Duration `json:"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"`
	// 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"`
}

HTTP retry policy. Experimental.

type HttpRouteMatch

type HttpRouteMatch struct {
	// 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.
	// Experimental.
	PrefixPath *string `json:"prefixPath"`
	// Specifies the client request headers to match on.
	//
	// All specified headers
	// must match for the route to match.
	// Experimental.
	Headers *[]HttpHeaderMatch `json:"headers"`
	// The HTTP client request method to match on.
	// Experimental.
	Method HttpRouteMatchMethod `json:"method"`
	// The client request protocol to match on.
	//
	// Applicable only for HTTP2 routes.
	// Experimental.
	Protocol HttpRouteProtocol `json:"protocol"`
}

The criterion for determining a request match for this GatewayRoute. Experimental.

type HttpRouteMatchMethod

type HttpRouteMatchMethod string

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

const (
	HttpRouteMatchMethod_GET     HttpRouteMatchMethod = "GET"
	HttpRouteMatchMethod_HEAD    HttpRouteMatchMethod = "HEAD"
	HttpRouteMatchMethod_POST    HttpRouteMatchMethod = "POST"
	HttpRouteMatchMethod_PUT     HttpRouteMatchMethod = "PUT"
	HttpRouteMatchMethod_DELETE  HttpRouteMatchMethod = "DELETE"
	HttpRouteMatchMethod_CONNECT HttpRouteMatchMethod = "CONNECT"
	HttpRouteMatchMethod_OPTIONS HttpRouteMatchMethod = "OPTIONS"
	HttpRouteMatchMethod_TRACE   HttpRouteMatchMethod = "TRACE"
	HttpRouteMatchMethod_PATCH   HttpRouteMatchMethod = "PATCH"
)

type HttpRouteProtocol

type HttpRouteProtocol string

Supported :scheme options for HTTP2. Experimental.

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

type HttpRouteSpecOptions

type HttpRouteSpecOptions struct {
	// The priority for the route.
	//
	// Routes are matched based on the specified
	// value, where 0 is the highest priority.
	// Experimental.
	Priority *float64 `json:"priority"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets"`
	// The criterion for determining a request match for this Route.
	// Experimental.
	Match *HttpRouteMatch `json:"match"`
	// The retry policy.
	// Experimental.
	RetryPolicy *HttpRetryPolicy `json:"retryPolicy"`
	// An object that represents a http timeout.
	// Experimental.
	Timeout *HttpTimeout `json:"timeout"`
}

Properties specific for HTTP Based Routes. 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"`
	// Represents per request timeout.
	// Experimental.
	PerRequest awscdk.Duration `json:"perRequest"`
}

Represents timeouts for HTTP protocols. Experimental.

type HttpVirtualNodeListenerOptions

type HttpVirtualNodeListenerOptions struct {
	// The health check information for the listener.
	// Experimental.
	HealthCheck *HealthCheck `json:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port"`
	// Timeout for HTTP protocol.
	// Experimental.
	Timeout *HttpTimeout `json:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	TlsCertificate TlsCertificate `json:"tlsCertificate"`
}

Represent the HTTP Node Listener prorperty. 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
	// Adds a VirtualGateway to the Mesh.
	// Experimental.
	AddVirtualGateway(id *string, props *VirtualGatewayBaseProps) VirtualGateway
	// Adds a VirtualNode to the Mesh.
	// Experimental.
	AddVirtualNode(id *string, props *VirtualNodeBaseProps) VirtualNode
	// Adds a VirtualRouter to the Mesh with the given id and props.
	// 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 wich 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
	// 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
	// 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 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. 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. 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"`
	// The name of the Mesh being defined.
	// Experimental.
	MeshName *string `json:"meshName"`
}

The set of properties used when creating a Mesh. Experimental.

type OutlierDetection

type OutlierDetection struct {
	// The base amount of time for which a host is ejected.
	// Experimental.
	BaseEjectionDuration awscdk.Duration `json:"baseEjectionDuration"`
	// The time interval between ejection sweep analysis.
	// Experimental.
	Interval awscdk.Duration `json:"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"`
	// Number of consecutive 5xx errors required for ejection.
	// Experimental.
	MaxServerErrors *float64 `json:"maxServerErrors"`
}

Represents the outlier detection for a listener. Experimental.

type Protocol

type Protocol string

Enum of supported AppMesh protocols. Experimental.

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

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. 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"`
	// The VirtualRouter the Route belongs to.
	// Experimental.
	VirtualRouter IVirtualRouter `json:"virtualRouter"`
}

Interface with properties ncecessary to import a reusable Route. Experimental.

type RouteBaseProps

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

Base interface properties for all Routes. Experimental.

type RouteProps

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

Properties to define new Routes. Experimental.

type RouteSpec

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

Used to generate specs with different protocols for a RouteSpec. 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"`
	// The spec for an http2 route.
	// Experimental.
	Http2RouteSpec *CfnRoute_HttpRouteProperty `json:"http2RouteSpec"`
	// The spec for an http route.
	// Experimental.
	HttpRouteSpec *CfnRoute_HttpRouteProperty `json:"httpRouteSpec"`
	// The priority for the route.
	//
	// Routes are matched based on the specified
	// value, where 0 is the highest priority.
	// Experimental.
	Priority *float64 `json:"priority"`
	// The spec for a tcp route.
	// Experimental.
	TcpRouteSpec *CfnRoute_TcpRouteProperty `json:"tcpRouteSpec"`
}

All Properties for GatewayRoute Specs. Experimental.

type RouteSpecOptionsBase

type RouteSpecOptionsBase struct {
	// The priority for the route.
	//
	// Routes are matched based on the specified
	// value, where 0 is the highest priority.
	// Experimental.
	Priority *float64 `json:"priority"`
}

Base options for all route specs. Experimental.

type ServiceDiscovery

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

Provides the Service Discovery method a VirtualNode uses. Experimental.

func ServiceDiscovery_CloudMap

func ServiceDiscovery_CloudMap(options *CloudMapServiceDiscoveryOptions) ServiceDiscovery

Returns Cloud Map based service discovery. Experimental.

func ServiceDiscovery_Dns

func ServiceDiscovery_Dns(hostname *string) ServiceDiscovery

Returns DNS based service discovery. Experimental.

type ServiceDiscoveryConfig

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

Properties for VirtualNode Service Discovery. Experimental.

type TcpRetryEvent

type TcpRetryEvent string

TCP events on which you may retry. Experimental.

const (
	TcpRetryEvent_CONNECTION_ERROR TcpRetryEvent = "CONNECTION_ERROR"
)

type TcpRouteSpecOptions

type TcpRouteSpecOptions struct {
	// The priority for the route.
	//
	// Routes are matched based on the specified
	// value, where 0 is the highest priority.
	// Experimental.
	Priority *float64 `json:"priority"`
	// List of targets that traffic is routed to when a request matches the route.
	// Experimental.
	WeightedTargets *[]*WeightedTarget `json:"weightedTargets"`
	// An object that represents a tcp timeout.
	// Experimental.
	Timeout *TcpTimeout `json:"timeout"`
}

Properties specific for a TCP Based Routes. 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"`
}

Represents timeouts for TCP protocols. Experimental.

type TcpVirtualNodeListenerOptions

type TcpVirtualNodeListenerOptions struct {
	// The health check information for the listener.
	// Experimental.
	HealthCheck *HealthCheck `json:"healthCheck"`
	// Represents the configuration for enabling outlier detection.
	// Experimental.
	OutlierDetection *OutlierDetection `json:"outlierDetection"`
	// Port to listen for connections on.
	// Experimental.
	Port *float64 `json:"port"`
	// Timeout for TCP protocol.
	// Experimental.
	Timeout *TcpTimeout `json:"timeout"`
	// Represents the configuration for enabling TLS on a listener.
	// Experimental.
	TlsCertificate TlsCertificate `json:"tlsCertificate"`
}

Represent the TCP Node Listener prorperty. Experimental.

type TlsCertificate

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

Represents a TLS certificate. Experimental.

func TlsCertificate_Acm

func TlsCertificate_Acm(props *AcmCertificateOptions) TlsCertificate

Returns an ACM TLS Certificate. Experimental.

func TlsCertificate_File

func TlsCertificate_File(props *FileCertificateOptions) TlsCertificate

Returns an File TLS Certificate. Experimental.

type TlsCertificateConfig

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

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

type TlsMode

type TlsMode string

Enum of supported TLS modes. Experimental.

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

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
	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. 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"`
	// The name of the VirtualGateway.
	// Experimental.
	VirtualGatewayName *string `json:"virtualGatewayName"`
}

Unterface with properties necessary to import a reusable VirtualGateway. Experimental.

type VirtualGatewayBaseProps

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

Basic configuration properties for a VirtualGateway. Experimental.

type VirtualGatewayListener

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

Represents the properties needed to define listeners for a VirtualGateway. 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 *HttpGatewayListenerOptions) 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"`
}

Properties for a VirtualGateway listener. Experimental.

type VirtualGatewayProps

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

Properties used when creating a new VirtualGateway. 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
	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. 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"`
	// The name of the VirtualNode.
	// Experimental.
	VirtualNodeName *string `json:"virtualNodeName"`
}

Interface with properties necessary to import a reusable VirtualNode. Experimental.

type VirtualNodeBaseProps

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

Basic configuration properties for a VirtualNode. Experimental.

type VirtualNodeListener

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

Defines listener for a VirtualNode. 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 *HttpVirtualNodeListenerOptions) 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"`
}

Properties for a VirtualNode listener. Experimental.

type VirtualNodeProps

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

The properties used when creating a new VirtualNode. 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
}

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"`
	// The name of the VirtualRouter.
	// Experimental.
	VirtualRouterName *string `json:"virtualRouterName"`
}

Interface with properties ncecessary to import a reusable VirtualRouter. Experimental.

type VirtualRouterBaseProps

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

Interface with base properties all routers willl inherit. Experimental.

type VirtualRouterListener

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

Represents the properties needed to define listeners for a VirtualRouter. 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"`
}

Properties for a VirtualRouter listener. Experimental.

type VirtualRouterProps

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

The properties used when creating a new VirtualRouter. 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. 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"`
	// The name of the VirtualService, it is recommended this follows the fully-qualified domain name format.
	// Experimental.
	VirtualServiceName *string `json:"virtualServiceName"`
}

Interface with properties ncecessary to import a reusable VirtualService. Experimental.

type VirtualServiceBackendOptions

type VirtualServiceBackendOptions struct {
	// Client policy for the backend.
	// Experimental.
	ClientPolicy ClientPolicy `json:"clientPolicy"`
}

Represents the properties needed to define a Virtual Service backend. Experimental.

type VirtualServiceProps

type VirtualServiceProps struct {
	// The VirtualNode or VirtualRouter which the VirtualService uses as its provider.
	// Experimental.
	VirtualServiceProvider VirtualServiceProvider `json:"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".
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	VirtualServiceName *string `json:"virtualServiceName"`
}

The properties applied to the VirtualService being defined. Experimental.

type VirtualServiceProvider

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

Represents the properties needed to define the provider for a VirtualService. 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"`
	// Virtual Node based provider.
	// Experimental.
	VirtualNodeProvider *CfnVirtualService_VirtualNodeServiceProviderProperty `json:"virtualNodeProvider"`
	// Virtual Router based provider.
	// Experimental.
	VirtualRouterProvider *CfnVirtualService_VirtualRouterServiceProviderProperty `json:"virtualRouterProvider"`
}

Properties for a VirtualService provider. Experimental.

type WeightedTarget

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

Properties for the Weighted Targets in the route. Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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