AppMesh
public struct AppMesh
Client object for interacting with AWS AppMesh service.
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 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.
-
Undocumented
Declaration
Swift
public let client: AWSClient
-
Initialize the AppMesh client
Declaration
Swift
public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)
Parameters
accessKeyId
Public access key provided by AWS
secretAccessKey
Private access key provided by AWS
sessionToken
Token provided by STS.AssumeRole() which allows access to another AWS account
region
Region of server you want to communicate with
endpoint
Custom endpoint URL to use instead of standard AWS servers
middlewares
Array of middlewares to apply to requests and responses
eventLoopGroupProvider
EventLoopGroup to use. Use
useAWSClientShared
if the client shall manage its own EventLoopGroup.
-
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.
Declaration
Swift
public func createGatewayRoute(_ input: CreateGatewayRouteInput) -> EventLoopFuture<CreateGatewayRouteOutput>
-
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.
Declaration
Swift
public func createMesh(_ input: CreateMeshInput) -> EventLoopFuture<CreateMeshOutput>
-
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.
Declaration
Swift
public func createRoute(_ input: CreateRouteInput) -> EventLoopFuture<CreateRouteOutput>
-
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.
Declaration
Swift
public func createVirtualGateway(_ input: CreateVirtualGatewayInput) -> EventLoopFuture<CreateVirtualGatewayOutput>
-
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 (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. For more information about virtual nodes, see Virtual nodes.
Declaration
Swift
public func createVirtualNode(_ input: CreateVirtualNodeInput) -> EventLoopFuture<CreateVirtualNodeOutput>
-
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.
Declaration
Swift
public func createVirtualRouter(_ input: CreateVirtualRouterInput) -> EventLoopFuture<CreateVirtualRouterOutput>
-
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.
Declaration
Swift
public func createVirtualService(_ input: CreateVirtualServiceInput) -> EventLoopFuture<CreateVirtualServiceOutput>
-
Deletes an existing gateway route.
Declaration
Swift
public func deleteGatewayRoute(_ input: DeleteGatewayRouteInput) -> EventLoopFuture<DeleteGatewayRouteOutput>
-
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.
Declaration
Swift
public func deleteMesh(_ input: DeleteMeshInput) -> EventLoopFuture<DeleteMeshOutput>
-
Deletes an existing route.
Declaration
Swift
public func deleteRoute(_ input: DeleteRouteInput) -> EventLoopFuture<DeleteRouteOutput>
-
Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it.
Declaration
Swift
public func deleteVirtualGateway(_ input: DeleteVirtualGatewayInput) -> EventLoopFuture<DeleteVirtualGatewayOutput>
-
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.
Declaration
Swift
public func deleteVirtualNode(_ input: DeleteVirtualNodeInput) -> EventLoopFuture<DeleteVirtualNodeOutput>
-
Deletes an existing virtual router. You must delete any routes associated with the virtual router before you can delete the router itself.
Declaration
Swift
public func deleteVirtualRouter(_ input: DeleteVirtualRouterInput) -> EventLoopFuture<DeleteVirtualRouterOutput>
-
Deletes an existing virtual service.
Declaration
Swift
public func deleteVirtualService(_ input: DeleteVirtualServiceInput) -> EventLoopFuture<DeleteVirtualServiceOutput>
-
Describes an existing gateway route.
Declaration
Swift
public func describeGatewayRoute(_ input: DescribeGatewayRouteInput) -> EventLoopFuture<DescribeGatewayRouteOutput>
-
Describes an existing service mesh.
Declaration
Swift
public func describeMesh(_ input: DescribeMeshInput) -> EventLoopFuture<DescribeMeshOutput>
-
Describes an existing route.
Declaration
Swift
public func describeRoute(_ input: DescribeRouteInput) -> EventLoopFuture<DescribeRouteOutput>
-
Describes an existing virtual gateway.
Declaration
Swift
public func describeVirtualGateway(_ input: DescribeVirtualGatewayInput) -> EventLoopFuture<DescribeVirtualGatewayOutput>
-
Describes an existing virtual node.
Declaration
Swift
public func describeVirtualNode(_ input: DescribeVirtualNodeInput) -> EventLoopFuture<DescribeVirtualNodeOutput>
-
Describes an existing virtual router.
Declaration
Swift
public func describeVirtualRouter(_ input: DescribeVirtualRouterInput) -> EventLoopFuture<DescribeVirtualRouterOutput>
-
Describes an existing virtual service.
Declaration
Swift
public func describeVirtualService(_ input: DescribeVirtualServiceInput) -> EventLoopFuture<DescribeVirtualServiceOutput>
-
Returns a list of existing gateway routes that are associated to a virtual gateway.
Declaration
Swift
public func listGatewayRoutes(_ input: ListGatewayRoutesInput) -> EventLoopFuture<ListGatewayRoutesOutput>
-
Returns a list of existing service meshes.
Declaration
Swift
public func listMeshes(_ input: ListMeshesInput) -> EventLoopFuture<ListMeshesOutput>
-
Returns a list of existing routes in a service mesh.
Declaration
Swift
public func listRoutes(_ input: ListRoutesInput) -> EventLoopFuture<ListRoutesOutput>
-
List the tags for an App Mesh resource.
Declaration
Swift
public func listTagsForResource(_ input: ListTagsForResourceInput) -> EventLoopFuture<ListTagsForResourceOutput>
-
Returns a list of existing virtual gateways in a service mesh.
Declaration
Swift
public func listVirtualGateways(_ input: ListVirtualGatewaysInput) -> EventLoopFuture<ListVirtualGatewaysOutput>
-
Returns a list of existing virtual nodes.
Declaration
Swift
public func listVirtualNodes(_ input: ListVirtualNodesInput) -> EventLoopFuture<ListVirtualNodesOutput>
-
Returns a list of existing virtual routers in a service mesh.
Declaration
Swift
public func listVirtualRouters(_ input: ListVirtualRoutersInput) -> EventLoopFuture<ListVirtualRoutersOutput>
-
Returns a list of existing virtual services in a service mesh.
Declaration
Swift
public func listVirtualServices(_ input: ListVirtualServicesInput) -> EventLoopFuture<ListVirtualServicesOutput>
-
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.
Declaration
Swift
public func tagResource(_ input: TagResourceInput) -> EventLoopFuture<TagResourceOutput>
-
Deletes specified tags from a resource.
Declaration
Swift
public func untagResource(_ input: UntagResourceInput) -> EventLoopFuture<UntagResourceOutput>
-
Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh.
Declaration
Swift
public func updateGatewayRoute(_ input: UpdateGatewayRouteInput) -> EventLoopFuture<UpdateGatewayRouteOutput>
-
Updates an existing service mesh.
Declaration
Swift
public func updateMesh(_ input: UpdateMeshInput) -> EventLoopFuture<UpdateMeshOutput>
-
Updates an existing route for a specified service mesh and virtual router.
Declaration
Swift
public func updateRoute(_ input: UpdateRouteInput) -> EventLoopFuture<UpdateRouteOutput>
-
Updates an existing virtual gateway in a specified service mesh.
Declaration
Swift
public func updateVirtualGateway(_ input: UpdateVirtualGatewayInput) -> EventLoopFuture<UpdateVirtualGatewayOutput>
-
Updates an existing virtual node in a specified service mesh.
Declaration
Swift
public func updateVirtualNode(_ input: UpdateVirtualNodeInput) -> EventLoopFuture<UpdateVirtualNodeOutput>
-
Updates an existing virtual router in a specified service mesh.
Declaration
Swift
public func updateVirtualRouter(_ input: UpdateVirtualRouterInput) -> EventLoopFuture<UpdateVirtualRouterOutput>
-
Updates an existing virtual service in a specified service mesh.
Declaration
Swift
public func updateVirtualService(_ input: UpdateVirtualServiceInput) -> EventLoopFuture<UpdateVirtualServiceOutput>
-
Returns a list of existing gateway routes that are associated to a virtual gateway.
Declaration
Swift
public func listGatewayRoutesPaginator(_ input: ListGatewayRoutesInput, onPage: @escaping (ListGatewayRoutesOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing service meshes.
Declaration
Swift
public func listMeshesPaginator(_ input: ListMeshesInput, onPage: @escaping (ListMeshesOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing routes in a service mesh.
Declaration
Swift
public func listRoutesPaginator(_ input: ListRoutesInput, onPage: @escaping (ListRoutesOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
List the tags for an App Mesh resource.
Declaration
Swift
public func listTagsForResourcePaginator(_ input: ListTagsForResourceInput, onPage: @escaping (ListTagsForResourceOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing virtual gateways in a service mesh.
Declaration
Swift
public func listVirtualGatewaysPaginator(_ input: ListVirtualGatewaysInput, onPage: @escaping (ListVirtualGatewaysOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing virtual nodes.
Declaration
Swift
public func listVirtualNodesPaginator(_ input: ListVirtualNodesInput, onPage: @escaping (ListVirtualNodesOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing virtual routers in a service mesh.
Declaration
Swift
public func listVirtualRoutersPaginator(_ input: ListVirtualRoutersInput, onPage: @escaping (ListVirtualRoutersOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns a list of existing virtual services in a service mesh.
Declaration
Swift
public func listVirtualServicesPaginator(_ input: ListVirtualServicesInput, onPage: @escaping (ListVirtualServicesOutput, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Undocumented
See moreDeclaration
Swift
public struct ListGatewayRoutesInput : AWSShape
extension AppMesh.ListGatewayRoutesInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListMeshesInput : AWSShape
extension AppMesh.ListMeshesInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListRoutesInput : AWSShape
extension AppMesh.ListRoutesInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListTagsForResourceInput : AWSShape
extension AppMesh.ListTagsForResourceInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListVirtualGatewaysInput : AWSShape
extension AppMesh.ListVirtualGatewaysInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListVirtualNodesInput : AWSShape
extension AppMesh.ListVirtualNodesInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListVirtualRoutersInput : AWSShape
extension AppMesh.ListVirtualRoutersInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListVirtualServicesInput : AWSShape
extension AppMesh.ListVirtualServicesInput: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public enum DurationUnit : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum EgressFilterType : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum GatewayRouteStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum GrpcRetryPolicyEvent : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum HttpMethod : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum HttpScheme : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ListenerTlsMode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum MeshStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum PortProtocol : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum RouteStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum TcpRetryPolicyEvent : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualGatewayListenerTlsMode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualGatewayPortProtocol : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualGatewayStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualNodeStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualRouterStatusCode : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum VirtualServiceStatusCode : String, CustomStringConvertible, Codable