AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Implementation for accessing AppMesh

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 Amazon Web Services Fargate, Amazon ECS, Amazon EKS, Kubernetes on Amazon Web Services, 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 in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns and coredns are supported. For more information, see DNS for Services and Pods in the Kubernetes documentation.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonServiceClient
    Amazon.AppMesh.AmazonAppMeshClient

Namespace: Amazon.AppMesh
Assembly: AWSSDK.AppMesh.dll
Version: 3.x.y.z

Syntax

C#
public class AmazonAppMeshClient : AmazonServiceClient
         IAmazonAppMesh, IAmazonService, IDisposable

The AmazonAppMeshClient type exposes the following members

Constructors

NameDescription
Public Method AmazonAppMeshClient()

Constructs AmazonAppMeshClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             

Public Method AmazonAppMeshClient(RegionEndpoint)

Constructs AmazonAppMeshClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             

Public Method AmazonAppMeshClient(AmazonAppMeshConfig)

Constructs AmazonAppMeshClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="AWSProfileName" value="AWS Default"/>
    </appSettings>
</configuration>
             

Public Method AmazonAppMeshClient(AWSCredentials)

Constructs AmazonAppMeshClient with AWS Credentials

Public Method AmazonAppMeshClient(AWSCredentials, RegionEndpoint)

Constructs AmazonAppMeshClient with AWS Credentials

Public Method AmazonAppMeshClient(AWSCredentials, AmazonAppMeshConfig)

Constructs AmazonAppMeshClient with AWS Credentials and an AmazonAppMeshClient Configuration object.

Public Method AmazonAppMeshClient(string, string)

Constructs AmazonAppMeshClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonAppMeshClient(string, string, RegionEndpoint)

Constructs AmazonAppMeshClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonAppMeshClient(string, string, AmazonAppMeshConfig)

Constructs AmazonAppMeshClient with AWS Access Key ID, AWS Secret Key and an AmazonAppMeshClient Configuration object.

Public Method AmazonAppMeshClient(string, string, string)

Constructs AmazonAppMeshClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonAppMeshClient(string, string, string, RegionEndpoint)

Constructs AmazonAppMeshClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonAppMeshClient(string, string, string, AmazonAppMeshConfig)

Constructs AmazonAppMeshClient with AWS Access Key ID, AWS Secret Key and an AmazonAppMeshClient Configuration object.

Properties

NameTypeDescription
Public Property Config Amazon.Runtime.IClientConfig Inherited from Amazon.Runtime.AmazonServiceClient.
Public Property Paginators Amazon.AppMesh.Model.IAppMeshPaginatorFactory

Paginators for the service

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method CreateGatewayRoute(CreateGatewayRouteRequest)

Creates a gateway route.

A gateway route is attached to a virtual gateway and routes traffic to an existing virtual service. If a route matches a request, it can distribute traffic to a target virtual service.

For more information about gateway routes, see Gateway routes.

Public Method CreateGatewayRouteAsync(CreateGatewayRouteRequest, CancellationToken)

Creates a gateway route.

A gateway route is attached to a virtual gateway and routes traffic to an existing virtual service. If a route matches a request, it can distribute traffic to a target virtual service.

For more information about gateway routes, see Gateway routes.

Public Method CreateMesh(CreateMeshRequest)

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.

Public Method CreateMeshAsync(CreateMeshRequest, CancellationToken)

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.

Public Method CreateRoute(CreateRouteRequest)

Creates a route that is associated with a virtual router.

You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.

For more information about routes, see Routes.

Public Method CreateRouteAsync(CreateRouteRequest, CancellationToken)

Creates a route that is associated with a virtual router.

You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.

For more information about routes, see Routes.

Public Method CreateVirtualGateway(CreateVirtualGatewayRequest)

Creates a virtual gateway.

A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.

For more information about virtual gateways, see Virtual gateways.

Public Method CreateVirtualGatewayAsync(CreateVirtualGatewayRequest, CancellationToken)

Creates a virtual gateway.

A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.

For more information about virtual gateways, see Virtual gateways.

Public Method CreateVirtualNode(CreateVirtualNodeRequest)

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, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS).

You define a listener for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is 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 to the full ARN; for example, arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) as the APPMESH_RESOURCE_ARN 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.

By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable with your own name.

For more information about virtual nodes, see Virtual nodes. You must be using 1.15.0 or later of the Envoy image when setting these variables. For more information aboutApp Mesh Envoy variables, see Envoy image in the App Mesh User Guide.

Public Method CreateVirtualNodeAsync(CreateVirtualNodeRequest, CancellationToken)

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, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS).

You define a listener for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is 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 to the full ARN; for example, arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) as the APPMESH_RESOURCE_ARN 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.

By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable with your own name.

For more information about virtual nodes, see Virtual nodes. You must be using 1.15.0 or later of the Envoy image when setting these variables. For more information aboutApp Mesh Envoy variables, see Envoy image in the App Mesh User Guide.

Public Method CreateVirtualRouter(CreateVirtualRouterRequest)

Creates a virtual router within a service mesh.

Specify a listener for any inbound traffic that your virtual router receives. Create a virtual router for each protocol and port that you need to route. 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.

For more information about virtual routers, see Virtual routers.

Public Method CreateVirtualRouterAsync(CreateVirtualRouterRequest, CancellationToken)

Creates a virtual router within a service mesh.

Specify a listener for any inbound traffic that your virtual router receives. Create a virtual router for each protocol and port that you need to route. 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.

For more information about virtual routers, see Virtual routers.

Public Method CreateVirtualService(CreateVirtualServiceRequest)

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.

For more information about virtual services, see Virtual services.

Public Method CreateVirtualServiceAsync(CreateVirtualServiceRequest, CancellationToken)

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.

For more information about virtual services, see Virtual services.

Public Method DeleteGatewayRoute(DeleteGatewayRouteRequest)

Deletes an existing gateway route.

Public Method DeleteGatewayRouteAsync(DeleteGatewayRouteRequest, CancellationToken)

Deletes an existing gateway route.

Public Method DeleteMesh(DeleteMeshRequest)

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.

Public Method DeleteMeshAsync(DeleteMeshRequest, CancellationToken)

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.

Public Method DeleteRoute(DeleteRouteRequest)

Deletes an existing route.

Public Method DeleteRouteAsync(DeleteRouteRequest, CancellationToken)

Deletes an existing route.

Public Method DeleteVirtualGateway(DeleteVirtualGatewayRequest)

Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it.

Public Method DeleteVirtualGatewayAsync(DeleteVirtualGatewayRequest, CancellationToken)

Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it.

Public Method DeleteVirtualNode(DeleteVirtualNodeRequest)

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.

Public Method DeleteVirtualNodeAsync(DeleteVirtualNodeRequest, CancellationToken)

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.

Public Method DeleteVirtualRouter(DeleteVirtualRouterRequest)

Deletes an existing virtual router.

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

Public Method DeleteVirtualRouterAsync(DeleteVirtualRouterRequest, CancellationToken)

Deletes an existing virtual router.

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

Public Method DeleteVirtualService(DeleteVirtualServiceRequest)

Deletes an existing virtual service.

Public Method DeleteVirtualServiceAsync(DeleteVirtualServiceRequest, CancellationToken)

Deletes an existing virtual service.

Public Method DescribeGatewayRoute(DescribeGatewayRouteRequest)

Describes an existing gateway route.

Public Method DescribeGatewayRouteAsync(DescribeGatewayRouteRequest, CancellationToken)

Describes an existing gateway route.

Public Method DescribeMesh(DescribeMeshRequest)

Describes an existing service mesh.

Public Method DescribeMeshAsync(DescribeMeshRequest, CancellationToken)

Describes an existing service mesh.

Public Method DescribeRoute(DescribeRouteRequest)

Describes an existing route.

Public Method DescribeRouteAsync(DescribeRouteRequest, CancellationToken)

Describes an existing route.

Public Method DescribeVirtualGateway(DescribeVirtualGatewayRequest)

Describes an existing virtual gateway.

Public Method DescribeVirtualGatewayAsync(DescribeVirtualGatewayRequest, CancellationToken)

Describes an existing virtual gateway.

Public Method DescribeVirtualNode(DescribeVirtualNodeRequest)

Describes an existing virtual node.

Public Method DescribeVirtualNodeAsync(DescribeVirtualNodeRequest, CancellationToken)

Describes an existing virtual node.

Public Method DescribeVirtualRouter(DescribeVirtualRouterRequest)

Describes an existing virtual router.

Public Method DescribeVirtualRouterAsync(DescribeVirtualRouterRequest, CancellationToken)

Describes an existing virtual router.

Public Method DescribeVirtualService(DescribeVirtualServiceRequest)

Describes an existing virtual service.

Public Method DescribeVirtualServiceAsync(DescribeVirtualServiceRequest, CancellationToken)

Describes an existing virtual service.

Public Method DetermineServiceOperationEndpoint(AmazonWebServiceRequest)

Returns the endpoint that will be used for a particular request.

Public Method Dispose() Inherited from Amazon.Runtime.AmazonServiceClient.
Public Method ListGatewayRoutes(ListGatewayRoutesRequest)

Returns a list of existing gateway routes that are associated to a virtual gateway.

Public Method ListGatewayRoutesAsync(ListGatewayRoutesRequest, CancellationToken)

Returns a list of existing gateway routes that are associated to a virtual gateway.

Public Method ListMeshes(ListMeshesRequest)

Returns a list of existing service meshes.

Public Method ListMeshesAsync(ListMeshesRequest, CancellationToken)

Returns a list of existing service meshes.

Public Method ListRoutes(ListRoutesRequest)

Returns a list of existing routes in a service mesh.

Public Method ListRoutesAsync(ListRoutesRequest, CancellationToken)

Returns a list of existing routes in a service mesh.

Public Method ListTagsForResource(ListTagsForResourceRequest)

List the tags for an App Mesh resource.

Public Method ListTagsForResourceAsync(ListTagsForResourceRequest, CancellationToken)

List the tags for an App Mesh resource.

Public Method ListVirtualGateways(ListVirtualGatewaysRequest)

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

Public Method ListVirtualGatewaysAsync(ListVirtualGatewaysRequest, CancellationToken)

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

Public Method ListVirtualNodes(ListVirtualNodesRequest)

Returns a list of existing virtual nodes.

Public Method ListVirtualNodesAsync(ListVirtualNodesRequest, CancellationToken)

Returns a list of existing virtual nodes.

Public Method ListVirtualRouters(ListVirtualRoutersRequest)

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

Public Method ListVirtualRoutersAsync(ListVirtualRoutersRequest, CancellationToken)

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

Public Method ListVirtualServices(ListVirtualServicesRequest)

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

Public Method ListVirtualServicesAsync(ListVirtualServicesRequest, CancellationToken)

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

Public Method TagResource(TagResourceRequest)

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.

Public Method TagResourceAsync(TagResourceRequest, CancellationToken)

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.

Public Method UntagResource(UntagResourceRequest)

Deletes specified tags from a resource.

Public Method UntagResourceAsync(UntagResourceRequest, CancellationToken)

Deletes specified tags from a resource.

Public Method UpdateGatewayRoute(UpdateGatewayRouteRequest)

Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh.

Public Method UpdateGatewayRouteAsync(UpdateGatewayRouteRequest, CancellationToken)

Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh.

Public Method UpdateMesh(UpdateMeshRequest)

Updates an existing service mesh.

Public Method UpdateMeshAsync(UpdateMeshRequest, CancellationToken)

Updates an existing service mesh.

Public Method UpdateRoute(UpdateRouteRequest)

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

Public Method UpdateRouteAsync(UpdateRouteRequest, CancellationToken)

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

Public Method UpdateVirtualGateway(UpdateVirtualGatewayRequest)

Updates an existing virtual gateway in a specified service mesh.

Public Method UpdateVirtualGatewayAsync(UpdateVirtualGatewayRequest, CancellationToken)

Updates an existing virtual gateway in a specified service mesh.

Public Method UpdateVirtualNode(UpdateVirtualNodeRequest)

Updates an existing virtual node in a specified service mesh.

Public Method UpdateVirtualNodeAsync(UpdateVirtualNodeRequest, CancellationToken)

Updates an existing virtual node in a specified service mesh.

Public Method UpdateVirtualRouter(UpdateVirtualRouterRequest)

Updates an existing virtual router in a specified service mesh.

Public Method UpdateVirtualRouterAsync(UpdateVirtualRouterRequest, CancellationToken)

Updates an existing virtual router in a specified service mesh.

Public Method UpdateVirtualService(UpdateVirtualServiceRequest)

Updates an existing virtual service in a specified service mesh.

Public Method UpdateVirtualServiceAsync(UpdateVirtualServiceRequest, CancellationToken)

Updates an existing virtual service in a specified service mesh.

Events

NameDescription
Event AfterResponseEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event BeforeRequestEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event ExceptionEvent Inherited from Amazon.Runtime.AmazonServiceClient.

Version Information

.NET Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5, 4.0, 3.5