NAME

Paws::AppMesh - Perl Interface to AWS AWS App Mesh

SYNOPSIS

  use Paws;

  my $obj = Paws->service('AppMesh');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and control microservices. App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high availability for your applications.

App Mesh gives you consistent visibility and network traffic controls for every microservice in an application. You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS, Kubernetes on AWS, and Amazon EC2.

App Mesh supports microservice applications that use service discovery naming for their components. For more information about service discovery on Amazon ECS, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns and coredns are supported. For more information, see DNS for Services and Pods (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) in the Kubernetes documentation.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25

METHODS

CreateMesh

MeshName => Str
[ClientToken => Str]
[Spec => Paws::AppMesh::MeshSpec]
[Tags => ArrayRef[Paws::AppMesh::TagRef]]

Each argument is described in detail in: Paws::AppMesh::CreateMesh

Returns: a Paws::AppMesh::CreateMeshOutput instance

Creates a service mesh. A service mesh is a logical boundary for network traffic between the services that reside within it.

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.

CreateRoute

MeshName => Str
RouteName => Str
Spec => Paws::AppMesh::RouteSpec
VirtualRouterName => Str
[ClientToken => Str]
[Tags => ArrayRef[Paws::AppMesh::TagRef]]

Each argument is described in detail in: Paws::AppMesh::CreateRoute

Returns: a Paws::AppMesh::CreateRouteOutput instance

Creates a route that is associated with a virtual router.

You can use the prefix parameter in your route specification 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.

If your route matches a request, you can distribute traffic to one or more target virtual nodes with relative weighting.

CreateVirtualNode

MeshName => Str
Spec => Paws::AppMesh::VirtualNodeSpec
VirtualNodeName => Str
[ClientToken => Str]
[Tags => ArrayRef[Paws::AppMesh::TagRef]]

Each argument is described in detail in: Paws::AppMesh::CreateVirtualNode

Returns: a Paws::AppMesh::CreateVirtualNodeOutput instance

Creates a virtual node within a service mesh.

A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group.

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.

The response metadata for your new virtual node contains the arn that is associated with the virtual node. Set this value (either the full ARN or the truncated resource name: for example, mesh/default/virtualNode/simpleapp) as the APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's Envoy proxy container in your task definition or pod spec. This is then mapped to the node.id and node.cluster Envoy parameters.

If you require your Envoy stats or tracing to use a different name, you can override the node.cluster value that is set by APPMESH_VIRTUAL_NODE_NAME with the APPMESH_VIRTUAL_NODE_CLUSTER environment variable.

CreateVirtualRouter

MeshName => Str
Spec => Paws::AppMesh::VirtualRouterSpec
VirtualRouterName => Str
[ClientToken => Str]
[Tags => ArrayRef[Paws::AppMesh::TagRef]]

Each argument is described in detail in: Paws::AppMesh::CreateVirtualRouter

Returns: a Paws::AppMesh::CreateVirtualRouterOutput instance

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.

CreateVirtualService

MeshName => Str
Spec => Paws::AppMesh::VirtualServiceSpec
VirtualServiceName => Str
[ClientToken => Str]
[Tags => ArrayRef[Paws::AppMesh::TagRef]]

Each argument is described in detail in: Paws::AppMesh::CreateVirtualService

Returns: a Paws::AppMesh::CreateVirtualServiceOutput instance

Creates a virtual service within a service mesh.

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

DeleteMesh

MeshName => Str

Each argument is described in detail in: Paws::AppMesh::DeleteMesh

Returns: a Paws::AppMesh::DeleteMeshOutput instance

Deletes an existing service mesh.

You must delete all resources (virtual services, routes, virtual routers, and virtual nodes) in the service mesh before you can delete the mesh itself.

DeleteRoute

MeshName => Str
RouteName => Str
VirtualRouterName => Str

Each argument is described in detail in: Paws::AppMesh::DeleteRoute

Returns: a Paws::AppMesh::DeleteRouteOutput instance

Deletes an existing route.

DeleteVirtualNode

MeshName => Str
VirtualNodeName => Str

Each argument is described in detail in: Paws::AppMesh::DeleteVirtualNode

Returns: a Paws::AppMesh::DeleteVirtualNodeOutput instance

Deletes an existing virtual node.

You must delete any virtual services that list a virtual node as a service provider before you can delete the virtual node itself.

DeleteVirtualRouter

MeshName => Str
VirtualRouterName => Str

Each argument is described in detail in: Paws::AppMesh::DeleteVirtualRouter

Returns: a Paws::AppMesh::DeleteVirtualRouterOutput instance

Deletes an existing virtual router.

You must delete any routes associated with the virtual router before you can delete the router itself.

DeleteVirtualService

MeshName => Str
VirtualServiceName => Str

Each argument is described in detail in: Paws::AppMesh::DeleteVirtualService

Returns: a Paws::AppMesh::DeleteVirtualServiceOutput instance

Deletes an existing virtual service.

DescribeMesh

MeshName => Str

Each argument is described in detail in: Paws::AppMesh::DescribeMesh

Returns: a Paws::AppMesh::DescribeMeshOutput instance

Describes an existing service mesh.

DescribeRoute

MeshName => Str
RouteName => Str
VirtualRouterName => Str

Each argument is described in detail in: Paws::AppMesh::DescribeRoute

Returns: a Paws::AppMesh::DescribeRouteOutput instance

Describes an existing route.

DescribeVirtualNode

MeshName => Str
VirtualNodeName => Str

Each argument is described in detail in: Paws::AppMesh::DescribeVirtualNode

Returns: a Paws::AppMesh::DescribeVirtualNodeOutput instance

Describes an existing virtual node.

DescribeVirtualRouter

MeshName => Str
VirtualRouterName => Str

Each argument is described in detail in: Paws::AppMesh::DescribeVirtualRouter

Returns: a Paws::AppMesh::DescribeVirtualRouterOutput instance

Describes an existing virtual router.

DescribeVirtualService

MeshName => Str
VirtualServiceName => Str

Each argument is described in detail in: Paws::AppMesh::DescribeVirtualService

Returns: a Paws::AppMesh::DescribeVirtualServiceOutput instance

Describes an existing virtual service.

ListMeshes

[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListMeshes

Returns: a Paws::AppMesh::ListMeshesOutput instance

Returns a list of existing service meshes.

ListRoutes

MeshName => Str
VirtualRouterName => Str
[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListRoutes

Returns: a Paws::AppMesh::ListRoutesOutput instance

Returns a list of existing routes in a service mesh.

ListTagsForResource

ResourceArn => Str
[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListTagsForResource

Returns: a Paws::AppMesh::ListTagsForResourceOutput instance

List the tags for an App Mesh resource.

ListVirtualNodes

MeshName => Str
[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListVirtualNodes

Returns: a Paws::AppMesh::ListVirtualNodesOutput instance

Returns a list of existing virtual nodes.

ListVirtualRouters

MeshName => Str
[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListVirtualRouters

Returns: a Paws::AppMesh::ListVirtualRoutersOutput instance

Returns a list of existing virtual routers in a service mesh.

ListVirtualServices

MeshName => Str
[Limit => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AppMesh::ListVirtualServices

Returns: a Paws::AppMesh::ListVirtualServicesOutput instance

Returns a list of existing virtual services in a service mesh.

TagResource

ResourceArn => Str
Tags => ArrayRef[Paws::AppMesh::TagRef]

Each argument is described in detail in: Paws::AppMesh::TagResource

Returns: a Paws::AppMesh::TagResourceOutput instance

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource aren't specified in the request parameters, they aren't changed. When a resource is deleted, the tags associated with that resource are also deleted.

UntagResource

ResourceArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::AppMesh::UntagResource

Returns: a Paws::AppMesh::UntagResourceOutput instance

Deletes specified tags from a resource.

UpdateMesh

MeshName => Str
[ClientToken => Str]
[Spec => Paws::AppMesh::MeshSpec]

Each argument is described in detail in: Paws::AppMesh::UpdateMesh

Returns: a Paws::AppMesh::UpdateMeshOutput instance

Updates an existing service mesh.

UpdateRoute

MeshName => Str
RouteName => Str
Spec => Paws::AppMesh::RouteSpec
VirtualRouterName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AppMesh::UpdateRoute

Returns: a Paws::AppMesh::UpdateRouteOutput instance

Updates an existing route for a specified service mesh and virtual router.

UpdateVirtualNode

MeshName => Str
Spec => Paws::AppMesh::VirtualNodeSpec
VirtualNodeName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AppMesh::UpdateVirtualNode

Returns: a Paws::AppMesh::UpdateVirtualNodeOutput instance

Updates an existing virtual node in a specified service mesh.

UpdateVirtualRouter

MeshName => Str
Spec => Paws::AppMesh::VirtualRouterSpec
VirtualRouterName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AppMesh::UpdateVirtualRouter

Returns: a Paws::AppMesh::UpdateVirtualRouterOutput instance

Updates an existing virtual router in a specified service mesh.

UpdateVirtualService

MeshName => Str
Spec => Paws::AppMesh::VirtualServiceSpec
VirtualServiceName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AppMesh::UpdateVirtualService

Returns: a Paws::AppMesh::UpdateVirtualServiceOutput instance

Updates an existing virtual service in a specified service mesh.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllMeshes(sub { },[Limit => Int, NextToken => Str])

ListAllMeshes([Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - meshes, passing the object as the first parameter, and the string 'meshes' as the second parameter 

If not, it will return a a Paws::AppMesh::ListMeshesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllRoutes(sub { },MeshName => Str, VirtualRouterName => Str, [Limit => Int, NextToken => Str])

ListAllRoutes(MeshName => Str, VirtualRouterName => Str, [Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - routes, passing the object as the first parameter, and the string 'routes' as the second parameter 

If not, it will return a a Paws::AppMesh::ListRoutesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllTagsForResource(sub { },ResourceArn => Str, [Limit => Int, NextToken => Str])

ListAllTagsForResource(ResourceArn => Str, [Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - tags, passing the object as the first parameter, and the string 'tags' as the second parameter 

If not, it will return a a Paws::AppMesh::ListTagsForResourceOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllVirtualNodes(sub { },MeshName => Str, [Limit => Int, NextToken => Str])

ListAllVirtualNodes(MeshName => Str, [Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - virtualNodes, passing the object as the first parameter, and the string 'virtualNodes' as the second parameter 

If not, it will return a a Paws::AppMesh::ListVirtualNodesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllVirtualRouters(sub { },MeshName => Str, [Limit => Int, NextToken => Str])

ListAllVirtualRouters(MeshName => Str, [Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - virtualRouters, passing the object as the first parameter, and the string 'virtualRouters' as the second parameter 

If not, it will return a a Paws::AppMesh::ListVirtualRoutersOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllVirtualServices(sub { },MeshName => Str, [Limit => Int, NextToken => Str])

ListAllVirtualServices(MeshName => Str, [Limit => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - virtualServices, passing the object as the first parameter, and the string 'virtualServices' as the second parameter 

If not, it will return a a Paws::AppMesh::ListVirtualServicesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues