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, ... ]
} }
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
-
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
-
Service Meshes in the AWS App Mesh User Guide .
-
CreateMesh in the AWS App Mesh API Reference .