AWS CloudFormation
User Guide (Version )

AWS::AppMesh::VirtualRouter

Creates a virtual router within a service mesh.

Any inbound traffic that your virtual router expects should be specified as a listener.

Virtual routers handle traffic for one or more virtual services within your mesh. After you create your virtual router, create and associate routes for your virtual router that direct incoming requests to different virtual nodes.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::AppMesh::VirtualRouter", "Properties" : { "MeshName" : String, "Spec" : VirtualRouterSpec, "Tags" : [ Tag, ... ], "VirtualRouterName" : String } }

YAML

Type: AWS::AppMesh::VirtualRouter Properties: MeshName: String Spec: VirtualRouterSpec Tags: - Tag VirtualRouterName: String

Properties

MeshName

The name of the service mesh to create the virtual router in.

Required: Yes

Type: String

Update requires: Replacement

Spec

The virtual router specification to apply.

Required: Yes

Type: VirtualRouterSpec

Update requires: No interruption

Tags

Optional metadata that you can apply to the virtual router to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Required: No

Type: List of Tag

Update requires: No interruption

VirtualRouterName

The name to use for the virtual router.

Required: Yes

Type: String

Update requires: Replacement

Return Values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the resource ARN. For example:

{ "Ref": "myVirtualRouter" }

When you pass the logical ID of an AWS::AppMesh::VirtualRouter resource to the intrinsic Ref function, the function returns the virtual router ARN, such as arn:aws:appmesh:us-east-1:555555555555:virtualRouter/myVirtualRouter .

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The full Amazon Resource Name (ARN) for the virtual router.

MeshName

The name of the service mesh that the virtual router resides in.

Uid

The unique identifier for the virtual router.

VirtualRouterName

The name of the virtual router.

Examples

Create a Virtual Router

This example creates a basic virtual router with an HTTP port mapping and two tags.

JSON

{ "Description": "Basic Test Virtual Router", "Resources": { "BasicVirtualRouter": { "Type": "AWS::AppMesh::VirtualRouter", "Properties": { "VirtualRouterName": "TestVirtualRouter", "MeshName": null, "Spec": { "Listeners": [ { "PortMapping": { "Port": 8080, "Protocol": "http" } } ] }, "Tags": [ { "Key": "Key1", "Value": "Value1" }, { "Key": "Key2", "Value": "Value2" } ] } } }, "Outputs": { "VirtualRouterName": { "Description": "Name of the VirtualRouter", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "VirtualRouterName" ] } }, "MeshName": { "Description": "Name of the Mesh", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "MeshName" ] } }, "Arn": { "Description": "Arn of the VirtualRouter created", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "Arn" ] } }, "Uid": { "Description": "Uid of the VirtualRouter created", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "Uid" ] } } } }

YAML

Description: Basic Test Virtual Router Resources: BasicVirtualRouter: Type: AWS::AppMesh::VirtualRouter Properties: VirtualRouterName: TestVirtualRouter MeshName: Spec: Listeners: - PortMapping: Port: 8080 Protocol: http Tags: - Key: Key1 Value: Value1 - Key: Key2 Value: Value2 Outputs: VirtualRouterName: Description: Name of the VirtualRouter Value: Fn::GetAtt: - BasicVirtualRouter - VirtualRouterName MeshName: Description: Name of the Mesh Value: Fn::GetAtt: - BasicVirtualRouter - MeshName Arn: Description: Arn of the VirtualRouter created Value: Fn::GetAtt: - BasicVirtualRouter - Arn Uid: Description: Uid of the VirtualRouter created Value: Fn::GetAtt: - BasicVirtualRouter - Uid

See Also