AWS::AppMesh::Mesh - AWS CloudFormation

AWS::AppMesh::Mesh

Creates a service mesh.

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

For more information about service meshes, see Service meshes.

Syntax

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

JSON

{ "Type" : "AWS::AppMesh::Mesh", "Properties" : { "MeshName" : String, "Spec" : MeshSpec, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::AppMesh::Mesh Properties: MeshName: String Spec: MeshSpec Tags: - Tag

Properties

MeshName

The name to use for the service mesh.

Required: No

Type: String

Minimum: 1

Maximum: 255

Update requires: Replacement

Spec

The service mesh specification to apply.

Required: No

Type: MeshSpec

Update requires: No interruption

Tags

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

Required: No

Type: Array of Tag

Minimum: 0

Maximum: 50

Update requires: No interruption

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": "myMesh" }

When you pass the logical ID of an AWS::AppMesh::Mesh resource to the intrinsic Ref function, the function returns the mesh ARN, such as arn:aws:appmesh:us-east-1:555555555555:mesh/myMesh .

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

MeshName

The name of the service mesh.

MeshOwner

The IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

ResourceOwner

The IAM account ID of the resource owner. If the account ID is not your own, then it's the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

Uid

The unique identifier for the mesh.

Examples

Create a Service Mesh

This example creates a service mesh that allows all egress traffic.

JSON

{ "Description": "Basic Test Mesh", "Resources": { "BasicMesh": { "Type": "AWS::AppMesh::Mesh", "Properties": { "MeshName": "BasicMesh1", "Spec": { "EgressFilter": { "Type": "ALLOW_ALL" } }, "Tags": [ { "Key": "Key1", "Value": "Value1" }, { "Key": "Key2", "Value": "Value2" } ] } } }, "Outputs": { "MeshName": { "Description": "Name of the Mesh", "Value": { "Fn::GetAtt": [ "BasicMesh", "MeshName" ] } }, "Arn": { "Description": "Arn of the Mesh created", "Value": { "Fn::GetAtt": [ "BasicMesh", "Arn" ] } }, "Uid": { "Description": "Uid of the Mesh created", "Value": { "Fn::GetAtt": [ "BasicMesh", "Uid" ] } } } }

YAML

Description: "Basic Test Mesh" Resources: BasicMesh: Type: "AWS::AppMesh::Mesh" Properties: MeshName: "BasicMesh1" Spec: EgressFilter: Type: "ALLOW_ALL" Tags: - Key: "Key1" Value: "Value1" - Key: "Key2" Value: "Value2" Outputs: MeshName: Description: Name of the Mesh Value: Fn::GetAtt: - BasicMesh - MeshName Arn: Description: Arn of the Mesh created Value: Fn::GetAtt: - BasicMesh - Arn Uid: Description: Uid of the Mesh created Value: Fn::GetAtt: - BasicMesh - Uid

See also