openapi: 3.0.0
info:
version: '2019-01-25'
x-release: v4
title: AWS App Mesh
description: <p>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.</p> <p>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.</p> <note> <p>App Mesh supports microservice
applications that use service discovery naming for their components. For more information about service discovery on Amazon ECS, see <a
href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html">Service Discovery</a> in the <i>Amazon Elastic Container Service Developer Guide</i>. Kubernetes
<code>kube-dns</code> and <code>coredns</code> are supported. For more information, see <a href="https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/">DNS for Services and
Pods</a> in the Kubernetes documentation.</p> </note>
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
backgroundColor: '#FFFFFF'
termsOfService: https://aws.amazon.com/service-terms/
contact:
name: Mike Ralphson
email: mike.ralphson@gmail.com
url: https://github.com/mermade/aws2openapi
x-twitter: PermittedSoc
license:
name: Apache 2.0 License
url: http://www.apache.org/licenses/
x-providerName: amazonaws.com
x-serviceName: appmesh
x-aws-signingName: appmesh
x-origin:
- contentType: application/json
url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/appmesh-2019-01-25.normal.json
converter:
url: https://github.com/mermade/aws2openapi
version: 1.0.0
x-apisguru-driver: external
x-apiClientRegistration:
url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
x-apisguru-categories:
- cloud
x-preferred: true
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/appmesh/
servers:
- url: http://appmesh.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The AWS App Mesh multi-region endpoint
- url: https://appmesh.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The AWS App Mesh multi-region endpoint
- url: http://appmesh.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The AWS App Mesh endpoint for China (Beijing) and China (Ningxia)
- url: https://appmesh.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The AWS App Mesh endpoint for China (Beijing) and China (Ningxia)
paths:
/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes:
put:
operationId: CreateGatewayRoute
description: <p>Creates a gateway route.</p> <p>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.</p> <p>For more information about gateway routes, see <a
href="https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html">Gateway routes</a>.</p>
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGatewayRouteOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'484':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'485':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'486':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'487':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
parameters:
- name: meshName
in: path
required: true
description: The name of the service mesh to create the gateway route in.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshOwner
in: query
required: false
description: The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then the account that you specify must share the mesh with your account before
you can create the resource in the service mesh. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared
meshes</a>.
schema:
type: string
minLength: 12
maxLength: 12
- name: virtualGatewayName
in: path
required: true
description: The name of the virtual gateway to associate the gateway route with. If the virtual gateway is in a shared mesh, then you must be the owner of the virtual gateway resource.
schema:
type: string
minLength: 1
maxLength: 255
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- gatewayRouteName
- spec
properties:
clientToken:
description: Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
type: string
gatewayRouteName:
description: The name to use for the gateway route.
type: string
minLength: 1
maxLength: 255
spec:
description: An object that represents a gateway route specification. Specify one gateway route type.
type: object
properties:
grpcRoute:
allOf:
- $ref: '#/components/schemas/GrpcGatewayRoute'
- description: An object that represents the specification of a gRPC gateway route.
http2Route:
allOf:
- $ref: '#/components/schemas/HttpGatewayRoute'
- description: An object that represents the specification of an HTTP/2 gateway route.
httpRoute:
allOf:
- $ref: '#/components/schemas/HttpGatewayRoute'
- description: An object that represents the specification of an HTTP gateway route.
priority:
allOf:
- $ref: '#/components/schemas/GatewayRoutePriority'
- description: The ordering of the gateway routes spec.
tags:
description: Optional metadata that you can apply to the gateway route 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.
type: array
items:
$ref: '#/components/schemas/TagRef'
minItems: 0
maxItems: 50
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: ListGatewayRoutes
description: Returns a list of existing gateway routes that are associated to a virtual gateway.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListGatewayRoutesOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'483':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'484':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'485':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
parameters:
- name: limit
in: query
required: false
description: The maximum number of results returned by <code>ListGatewayRoutes</code> in paginated output. When you use this parameter, <code>ListGatewayRoutes</code> returns only
<code>limit</code> results in a single page along with a <code>nextToken</code> response element. You can see the remaining results of the initial request by sending another
<code>ListGatewayRoutes</code> request with the returned <code>nextToken</code> value. This value can be between 1 and 100. If you don't use this parameter, <code>ListGatewayRoutes</code>
returns up to 100 results and a <code>nextToken</code> value if applicable.
schema:
type: integer
minimum: 1
maximum: 100
- name: meshName
in: path
required: true
description: The name of the service mesh to list gateway routes in.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshOwner
in: query
required: false
description: The Amazon Web Services 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 <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The <code>nextToken</code> value returned from a previous paginated <code>ListGatewayRoutes</code> request where <code>limit</code> was used and the results exceeded the value of
that parameter. Pagination continues from the end of the previous results that returned the <code>nextToken</code> value.
schema:
type: string
- name: virtualGatewayName
in: path
required: true
description: The name of the virtual gateway to list gateway routes in.
schema:
type: string
minLength: 1
maxLength: 255
/v20190125/meshes:
put:
operationId: CreateMesh
description: <p>Creates a service mesh.</p> <p> 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.</p> <p>For more information about service
meshes, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html">Service meshes</a>.</p>
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMeshOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'484':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'485':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'486':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'487':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- meshName
properties:
clientToken:
description: Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
type: string
meshName:
description: The name to use for the service mesh.
type: string
minLength: 1
maxLength: 255
spec:
description: An object that represents the specification of a service mesh.
type: object
properties:
egressFilter:
allOf:
- $ref: '#/components/schemas/EgressFilter'
- description: The egress filter rules for the service mesh.
serviceDiscovery:
$ref: '#/components/schemas/MeshServiceDiscovery'
tags:
description: 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.
type: array
items:
$ref: '#/components/schemas/TagRef'
minItems: 0
maxItems: 50
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: ListMeshes
description: Returns a list of existing service meshes.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListMeshesOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'483':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'484':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'485':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
parameters:
- name: limit
in: query
required: false
description: The maximum number of results returned by <code>ListMeshes</code> in paginated output. When you use this parameter, <code>ListMeshes</code> returns only <code>limit</code> results
in a single page along with a <code>nextToken</code> response element. You can see the remaining results of the initial request by sending another <code>ListMeshes</code> request with the
returned <code>nextToken</code> value. This value can be between 1 and 100. If you don't use this parameter, <code>ListMeshes</code> returns up to 100 results and a <code>nextToken</code>
value if applicable.
schema:
type: integer
minimum: 1
maximum: 100
- name: nextToken
in: query
required: false
description: <p>The <code>nextToken</code> value returned from a previous paginated <code>ListMeshes</code> request where <code>limit</code> was used and the results exceeded the value of that
parameter. Pagination continues from the end of the previous results that returned the <code>nextToken</code> value.</p> <note> <p>This token should be treated as an opaque identifier that
is used only to retrieve the next items in a list and not for other programmatic purposes.</p> </note>
schema:
type: string
/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes:
put:
operationId: CreateRoute
description: <p>Creates a route that is associated with a virtual router.</p> <p> You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or
more virtual nodes.</p> <p>For more information about routes, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html">Routes</a>.</p>
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRouteOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'484':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'485':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'486':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'487':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
parameters:
- name: meshName
in: path
required: true
description: The name of the service mesh to create the route in.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshOwner
in: query
required: false
description: The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then the account that you specify must share the mesh with your account before
you can create the resource in the service mesh. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared
meshes</a>.
schema:
type: string
minLength: 12
maxLength: 12
- name: virtualRouterName
in: path
required: true
description: The name of the virtual router in which to create the route. If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.
schema:
type: string
minLength: 1
maxLength: 255
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- routeName
- spec
properties:
clientToken:
description: Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
type: string
routeName:
description: The name to use for the route.
type: string
minLength: 1
maxLength: 255
spec:
description: An object that represents a route specification. Specify one route type.
type: object
properties:
grpcRoute:
allOf:
- $ref: '#/components/schemas/GrpcRoute'
- description: An object that represents the specification of a gRPC route.
http2Route:
allOf:
- $ref: '#/components/schemas/HttpRoute'
- description: An object that represents the specification of an HTTP/2 route.
httpRoute:
allOf:
- $ref: '#/components/schemas/HttpRoute'
- description: An object that represents the specification of an HTTP route.
priority:
allOf:
- $ref: '#/components/schemas/RoutePriority'
- description: The priority for the route. Routes are matched based on the specified value, where 0 is the highest priority.
tcpRoute:
allOf:
- $ref: '#/components/schemas/TcpRoute'
- description: An object that represents the specification of a TCP route.
tags:
description: Optional metadata that you can apply to the route 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.
type: array
items:
$ref: '#/components/schemas/TagRef'
minItems: 0
maxItems: 50
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: ListRoutes
description: Returns a list of existing routes in a service mesh.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListRoutesOutput'
'480':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'481':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'482':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'483':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'484':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'485':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
parameters:
- name: limit
in: query
required: false
description: The maximum number of results returned by <code>ListRoutes</code> in paginated output. When you use this parameter, <code>ListRoutes</code> returns only <code>limit</code> results
in a single page along with a <code>nextToken</code> response element. You can see the remaining results of the initial request by sending another <code>ListRoutes</code> request with the
returned <code>nextToken</code> value. This value can be between 1 and 100. If you don't use this parameter, <code>ListRoutes</code> returns up to 100 results and a <code>nextToken</code>
value if applicable.
schema:
type: integer
minimum: 1
maximum: 100
- name: meshName
in: path
required: true
description: The name of the service mesh to list routes in.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshOwner
in: query
required: false
description: The Amazon Web Services 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 <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The <code>nextToken</code> value returned from a previous paginated <code>ListRoutes</code> request where <code>limit</code> was used and the results exceeded the value of that
parameter. Pagination continues from the end of the previous results that returned the <code>nextToken</code> value.
schema:
type: string
- name: virtualRouterName
in: path
required: true
description: The name of the virtual router to list routes in.
schema:
type: string
minLength: 1
maxLength: 255
/v20190125/meshes/{meshName}/virtualGateways:
put:
operationId: CreateVirtualGateway
description: <p>Creates a virtual gateway.</p> <p>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.</p> <p>For more information about virtual gateways, see <a
href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html">Virtual gateways</a>. </p>
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVirtualGatewayOutput'
'480':
description: NotFoundException
content:
application/json:
# --- truncated at 32 KB (299 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-app-mesh/refs/heads/main/openapi/amazon-app-mesh-openapi.yaml