openapi: 3.0.0 info: version: '2019-01-25' x-release: v4 title: AWS App Mesh Meshes API description:
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.
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.
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 Working with shared meshes. 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 tags: - Meshes 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 byListGatewayRoutes in paginated output. When you use this parameter, ListGatewayRoutes returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListGatewayRoutes request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListGatewayRoutes returns up to 100 results and a nextToken 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListGatewayRoutes request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken 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
tags:
- Meshes
/v20190125/meshes:
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'
put:
operationId: CreateMesh
description: 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.
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 tags: - Meshes 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 byListMeshes in paginated output. When you use this parameter, ListMeshes returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListMeshes request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListMeshes returns up to 100 results and a nextToken value if applicable.
schema:
type: integer
minimum: 1
maximum: 100
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListMeshes request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
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.
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.
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 Working with shared meshes. 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 tags: - Meshes 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 byListRoutes in paginated output. When you use this parameter, ListRoutes returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListRoutes request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListRoutes returns up to 100 results and a nextToken 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListRoutes request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken 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
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualGateways:
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'
put:
operationId: CreateVirtualGateway
description: 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.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateVirtualGatewayOutput' '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 virtual gateway 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 requestBody: required: true content: application/json: schema: type: object required: - spec - virtualGatewayName 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 spec: description: An object that represents the specification of a service mesh resource. type: object properties: backendDefaults: allOf: - $ref: '#/components/schemas/VirtualGatewayBackendDefaults' - description: A reference to an object that represents the defaults for backends. listeners: allOf: - $ref: '#/components/schemas/VirtualGatewayListeners' - description: The listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. logging: $ref: '#/components/schemas/VirtualGatewayLogging' tags: description: Optional metadata that you can apply to the virtual gateway 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 virtualGatewayName: description: The name to use for the virtual gateway. type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: ListVirtualGateways description: Returns a list of existing virtual gateways in a service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListVirtualGatewaysOutput' '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 byListVirtualGateways in paginated output. When you use this parameter, ListVirtualGateways returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListVirtualGateways request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListVirtualGateways returns up to 100 results and a nextToken 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 virtual gateways 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListVirtualGateways request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
schema:
type: string
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualNodes:
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'
put:
operationId: CreateVirtualNode
description: 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.
listener, then you must specify service discovery information.
tags:
description: Optional metadata that you can apply to the virtual node 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
virtualNodeName:
description: The name to use for the virtual node.
type: string
minLength: 1
maxLength: 255
tags:
- Meshes
get:
operationId: ListVirtualNodes
description: Returns a list of existing virtual nodes.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListVirtualNodesOutput'
'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 ListVirtualNodes in paginated output. When you use this parameter, ListVirtualNodes returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListVirtualNodes request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListVirtualNodes returns up to 100 results and a nextToken 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 virtual nodes 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListVirtualNodes request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
schema:
type: string
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualRouters:
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'
put:
operationId: CreateVirtualRouter
description: 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.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateVirtualRouterOutput' '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 virtual router 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 requestBody: required: true content: application/json: schema: type: object required: - spec - virtualRouterName 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 spec: description: An object that represents the specification of a virtual router. type: object properties: listeners: allOf: - $ref: '#/components/schemas/VirtualRouterListeners' - description: The listeners that the virtual router is expected to receive inbound traffic from. You can specify one listener. tags: description: Optional metadata that you can apply to the virtual router 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 virtualRouterName: description: The name to use for the virtual router. type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: ListVirtualRouters description: Returns a list of existing virtual routers in a service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListVirtualRoutersOutput' '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 byListVirtualRouters in paginated output. When you use this parameter, ListVirtualRouters returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListVirtualRouters request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListVirtualRouters returns up to 100 results and a nextToken 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 virtual routers 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListVirtualRouters request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
schema:
type: string
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualServices:
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'
put:
operationId: CreateVirtualService
description: 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.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateVirtualServiceOutput' '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 virtual service 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 requestBody: required: true content: application/json: schema: type: object required: - spec - virtualServiceName 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 spec: description: An object that represents the specification of a virtual service. type: object properties: provider: allOf: - $ref: '#/components/schemas/VirtualServiceProvider' - description: The App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. tags: description: Optional metadata that you can apply to the virtual service 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 virtualServiceName: description: The name to use for the virtual service. type: string tags: - Meshes get: operationId: ListVirtualServices description: Returns a list of existing virtual services in a service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListVirtualServicesOutput' '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 byListVirtualServices in paginated output. When you use this parameter, ListVirtualServices returns only limit results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListVirtualServices request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListVirtualServices returns up to 100 results and a nextToken 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 virtual services 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: nextToken
in: query
required: false
description: The nextToken value returned from a previous paginated ListVirtualServices request where limit was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
schema:
type: string
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}:
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'
delete:
operationId: DeleteGatewayRoute
description: Deletes an existing gateway route.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteGatewayRouteOutput'
'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: ResourceInUseException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceInUseException'
'485':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'486':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
parameters:
- name: gatewayRouteName
in: path
required: true
description: The name of the gateway route to delete.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshName
in: path
required: true
description: The name of the service mesh to delete the gateway route from.
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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: virtualGatewayName
in: path
required: true
description: The name of the virtual gateway to delete the route from.
schema:
type: string
minLength: 1
maxLength: 255
tags:
- Meshes
get:
operationId: DescribeGatewayRoute
description: Describes an existing gateway route.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeGatewayRouteOutput'
'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: gatewayRouteName
in: path
required: true
description: The name of the gateway route to describe.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshName
in: path
required: true
description: The name of the service mesh that the gateway route resides 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: virtualGatewayName
in: path
required: true
description: The name of the virtual gateway that the gateway route is associated with.
schema:
type: string
minLength: 1
maxLength: 255
tags:
- Meshes
put:
operationId: UpdateGatewayRoute
description: Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGatewayRouteOutput'
'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: gatewayRouteName
in: path
required: true
description: The name of the gateway route to update.
schema:
type: string
minLength: 1
maxLength: 255
- name: meshName
in: path
required: true
description: The name of the service mesh that the gateway route resides 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 Working with shared meshes.
schema:
type: string
minLength: 12
maxLength: 12
- name: virtualGatewayName
in: path
required: true
description: The name of the virtual gateway that the gateway route is associated with.
schema:
type: string
minLength: 1
maxLength: 255
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- 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
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:
- Meshes
/v20190125/meshes/{meshName}:
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'
delete:
operationId: DeleteMesh
description: 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.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteMeshOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: DescribeMesh description: Describes an existing service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeMeshOutput' '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: meshName in: path required: true description: The name of the service mesh to describe. 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 tags: - Meshes put: operationId: UpdateMesh description: Updates an existing service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateMeshOutput' '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' parameters: - name: meshName in: path required: true description: The name of the service mesh to update. schema: type: string minLength: 1 maxLength: 255 requestBody: required: true content: application/json: schema: type: object 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 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: - Meshes /v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}: 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' delete: operationId: DeleteRoute description: Deletes an existing route. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteRouteOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete 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 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. schema: type: string minLength: 12 maxLength: 12 - name: routeName in: path required: true description: The name of the route to delete. schema: type: string minLength: 1 maxLength: 255 - name: virtualRouterName in: path required: true description: The name of the virtual router to delete the route in. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: DescribeRoute description: Describes an existing route. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeRouteOutput' '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: meshName in: path required: true description: The name of the service mesh that the route resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: routeName in: path required: true description: The name of the route to describe. schema: type: string minLength: 1 maxLength: 255 - name: virtualRouterName in: path required: true description: The name of the virtual router that the route is associated with. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes put: operationId: UpdateRoute description: Updates an existing route for a specified service mesh and virtual router. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateRouteOutput' '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 that the route resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: routeName in: path required: true description: The name of the route to update. schema: type: string minLength: 1 maxLength: 255 - name: virtualRouterName in: path required: true description: The name of the virtual router that the route is associated with. schema: type: string minLength: 1 maxLength: 255 requestBody: required: true content: application/json: schema: type: object required: - 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 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: - Meshes /v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}: 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' delete: operationId: DeleteVirtualGateway description: Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteVirtualGatewayOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete the virtual gateway from. 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualGatewayName in: path required: true description: The name of the virtual gateway to delete. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: DescribeVirtualGateway description: Describes an existing virtual gateway. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeVirtualGatewayOutput' '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: meshName in: path required: true description: The name of the service mesh that the gateway route resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualGatewayName in: path required: true description: The name of the virtual gateway to describe. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes put: operationId: UpdateVirtualGateway description: Updates an existing virtual gateway in a specified service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateVirtualGatewayOutput' '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 that the virtual gateway resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualGatewayName in: path required: true description: The name of the virtual gateway to update. schema: type: string minLength: 1 maxLength: 255 requestBody: required: true content: application/json: schema: type: object required: - 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 spec: description: An object that represents the specification of a service mesh resource. type: object properties: backendDefaults: allOf: - $ref: '#/components/schemas/VirtualGatewayBackendDefaults' - description: A reference to an object that represents the defaults for backends. listeners: allOf: - $ref: '#/components/schemas/VirtualGatewayListeners' - description: The listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. logging: $ref: '#/components/schemas/VirtualGatewayLogging' tags: - Meshes /v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}: 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' delete: operationId: DeleteVirtualNode description: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.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteVirtualNodeOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete the virtual node 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualNodeName in: path required: true description: The name of the virtual node to delete. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: DescribeVirtualNode description: Describes an existing virtual node. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeVirtualNodeOutput' '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: meshName in: path required: true description: The name of the service mesh that the virtual node resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualNodeName in: path required: true description: The name of the virtual node to describe. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes put: operationId: UpdateVirtualNode description: Updates an existing virtual node in a specified service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateVirtualNodeOutput' '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 that the virtual node resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualNodeName in: path required: true description: The name of the virtual node to update. schema: type: string minLength: 1 maxLength: 255 requestBody: required: true content: application/json: schema: type: object required: - 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 spec: description: An object that represents the specification of a virtual node. type: object properties: backendDefaults: allOf: - $ref: '#/components/schemas/BackendDefaults' - description: A reference to an object that represents the defaults for backends. backends: allOf: - $ref: '#/components/schemas/Backends' - description: The backends that the virtual node is expected to send outbound traffic to. listeners: allOf: - $ref: '#/components/schemas/Listeners' - description: The listener that the virtual node is expected to receive inbound traffic from. You can specify one listener. logging: allOf: - $ref: '#/components/schemas/Logging' - description: The inbound and outbound access logging information for the virtual node. serviceDiscovery: allOf: - $ref: '#/components/schemas/ServiceDiscovery' - description: The service discovery information for the virtual node. If your virtual node does not expect ingress traffic, you can omit this parameter. If you specify alistener, then you must specify service discovery information.
tags:
- Meshes
/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}:
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'
delete:
operationId: DeleteVirtualRouter
description: Deletes an existing virtual router.
You must delete any routes associated with the virtual router before you can delete the router itself.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteVirtualRouterOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete the virtual router 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualRouterName in: path required: true description: The name of the virtual router to delete. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes get: operationId: DescribeVirtualRouter description: Describes an existing virtual router. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeVirtualRouterOutput' '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: meshName in: path required: true description: The name of the service mesh that the virtual router resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualRouterName in: path required: true description: The name of the virtual router to describe. schema: type: string minLength: 1 maxLength: 255 tags: - Meshes put: operationId: UpdateVirtualRouter description: Updates an existing virtual router in a specified service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateVirtualRouterOutput' '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 that the virtual router resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualRouterName in: path required: true description: The name of the virtual router to update. schema: type: string minLength: 1 maxLength: 255 requestBody: required: true content: application/json: schema: type: object required: - 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 spec: description: An object that represents the specification of a virtual router. type: object properties: listeners: allOf: - $ref: '#/components/schemas/VirtualRouterListeners' - description: The listeners that the virtual router is expected to receive inbound traffic from. You can specify one listener. tags: - Meshes /v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}: 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' delete: operationId: DeleteVirtualService description: Deletes an existing virtual service. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteVirtualServiceOutput' '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: ResourceInUseException content: application/json: schema: $ref: '#/components/schemas/ResourceInUseException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '486': description: InternalServerErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorException' parameters: - name: meshName in: path required: true description: The name of the service mesh to delete the virtual service 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualServiceName in: path required: true description: The name of the virtual service to delete. schema: type: string tags: - Meshes get: operationId: DescribeVirtualService description: Describes an existing virtual service. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeVirtualServiceOutput' '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: meshName in: path required: true description: The name of the service mesh that the virtual service resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualServiceName in: path required: true description: The name of the virtual service to describe. schema: type: string tags: - Meshes put: operationId: UpdateVirtualService description: Updates an existing virtual service in a specified service mesh. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateVirtualServiceOutput' '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 that the virtual service resides 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 Working with shared meshes. schema: type: string minLength: 12 maxLength: 12 - name: virtualServiceName in: path required: true description: The name of the virtual service to update. schema: type: string requestBody: required: true content: application/json: schema: type: object required: - 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 spec: description: An object that represents the specification of a virtual service. type: object properties: provider: allOf: - $ref: '#/components/schemas/VirtualServiceProvider' - description: The App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. tags: - Meshes components: schemas: VirtualGatewayPortProtocol: type: string enum: - http - http2 - grpc VirtualNodeTcpConnectionPool: type: object required: - maxConnections properties: maxConnections: allOf: - $ref: '#/components/schemas/MaxConnections' - description: Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. description: An object that represents a type of connection pool. ResourceInUseException: {} VirtualRouterServiceProvider: type: object required: - virtualRouterName properties: virtualRouterName: allOf: - $ref: '#/components/schemas/ResourceName' - description: The name of the virtual router that is acting as a service provider. description: An object that represents a virtual node service provider. VirtualRouterListener: type: object required: - portMapping properties: portMapping: $ref: '#/components/schemas/PortMapping' description: An object that represents a virtual router listener. ListMeshesOutput: type: object required: - meshes properties: meshes: allOf: - $ref: '#/components/schemas/MeshList' - description: The list of existing service meshes. nextToken: allOf: - $ref: '#/components/schemas/String' - description: ThenextToken value to include in a future ListMeshes request. When the results of a ListMeshes request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
description: An object that represents the type of virtual node connection pool.
Only one protocol is used at a time and should be the same protocol as the one chosen under port mapping.
If not present the default value for maxPendingRequests is 2147483647.
nextToken value to include in a future ListVirtualNodes request. When the results of a ListVirtualNodes request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
virtualNodes:
allOf:
- $ref: '#/components/schemas/VirtualNodeList'
- description: The list of existing virtual nodes for the specified service mesh.
description: /, which by itself matches all requests to the virtual service name. You can also match 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.
queryParameters:
allOf:
- $ref: '#/components/schemas/HttpQueryParameters'
- description: The client request query parameters to match on.
scheme:
allOf:
- $ref: '#/components/schemas/HttpScheme'
- description: The client request scheme to match on. Specify only one. Applicable only for HTTP2 routes.
description: An object that represents the requirements for a route to match HTTP requests for a virtual router.
DnsResponseType:
type: string
enum:
- LOADBALANCER
- ENDPOINTS
HttpGatewayRouteAction:
type: object
required:
- target
properties:
rewrite:
allOf:
- $ref: '#/components/schemas/HttpGatewayRouteRewrite'
- description: The gateway route action to rewrite.
target:
allOf:
- $ref: '#/components/schemas/GatewayRouteTarget'
- description: An object that represents the target that traffic is routed to when a request matches the gateway route.
description: An object that represents the action to take if a match is determined.
HeaderName:
type: string
minLength: 1
maxLength: 50
AccountId:
type: string
minLength: 12
maxLength: 12
JsonFormatRef:
type: object
required:
- key
- value
properties:
key:
allOf:
- $ref: '#/components/schemas/JsonKey'
- description: The specified key for the JSON.
value:
allOf:
- $ref: '#/components/schemas/JsonValue'
- description: The specified value for the JSON.
description: An object that represents the key value pairs for the JSON.
GrpcGatewayRouteMatch:
type: object
properties:
hostname:
allOf:
- $ref: '#/components/schemas/GatewayRouteHostnameMatch'
- description: The gateway route host name to be matched on.
metadata:
allOf:
- $ref: '#/components/schemas/GrpcGatewayRouteMetadataList'
- description: The gateway route metadata to be matched on.
port:
allOf:
- $ref: '#/components/schemas/ListenerPort'
- description: The port number to match from the request.
serviceName:
allOf:
- $ref: '#/components/schemas/ServiceName'
- description: The fully qualified domain name for the service to match from the request.
description: An object that represents the criteria for determining a request match.
TcpRetryPolicyEvent:
type: string
enum:
- connection-error
VirtualGatewayList:
type: array
items:
$ref: '#/components/schemas/VirtualGatewayRef'
VirtualServiceList:
type: array
items:
$ref: '#/components/schemas/VirtualServiceRef'
VirtualRouterStatus:
type: object
required:
- status
properties:
status:
allOf:
- $ref: '#/components/schemas/VirtualRouterStatusCode'
- description: The current status of the virtual router.
description: 'An object that represents the status of a virtual router. '
ListVirtualServicesOutput:
type: object
required:
- virtualServices
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/String'
- description: The nextToken value to include in a future ListVirtualServices request. When the results of a ListVirtualServices request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
virtualServices:
allOf:
- $ref: '#/components/schemas/VirtualServiceList'
- description: The list of existing virtual services for the specified service mesh.
description: listener, then you must specify service discovery information.
description: An object that represents the specification of a virtual node.
ListGatewayRoutesOutput:
type: object
required:
- gatewayRoutes
properties:
gatewayRoutes:
allOf:
- $ref: '#/components/schemas/GatewayRouteList'
- description: The list of existing gateway routes for the specified service mesh and virtual gateway.
nextToken:
allOf:
- $ref: '#/components/schemas/String'
- description: The nextToken value to include in a future ListGatewayRoutes request. When the results of a ListGatewayRoutes request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
PortMapping:
type: object
required:
- port
- protocol
properties:
port:
allOf:
- $ref: '#/components/schemas/PortNumber'
- description: The port used for the port mapping.
protocol:
allOf:
- $ref: '#/components/schemas/PortProtocol'
- description: The protocol used for the port mapping. Specify one protocol.
description: An object that represents a port mapping.
VirtualGatewayListenerTlsAcmCertificate:
type: object
required:
- certificateArn
properties:
certificateArn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The Amazon Resource Name (ARN) for the certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
description: An object that represents an Certificate Manager certificate.
GrpcGatewayRouteMetadata:
type: object
required:
- name
properties:
invert:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: Specify True to match anything except the match criteria. The default value is False.
match:
allOf:
- $ref: '#/components/schemas/GrpcMetadataMatchMethod'
- description: The criteria for determining a metadata match.
name:
allOf:
- $ref: '#/components/schemas/HeaderName'
- description: A name for the gateway route metadata.
description: An object representing the metadata of the gateway route.
TcpRouteAction:
type: object
required:
- weightedTargets
properties:
weightedTargets:
allOf:
- $ref: '#/components/schemas/WeightedTargets'
- description: An object that represents the targets that traffic is routed to when a request matches the route.
description: An object that represents the action to take if a match is determined.
VirtualGatewayTlsValidationContextFileTrust:
type: object
required:
- certificateChain
properties:
certificateChain:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.
description: An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
VirtualRouterRef:
type: object
required:
- arn
- createdAt
- lastUpdatedAt
- meshName
- meshOwner
- resourceOwner
- version
- virtualRouterName
properties:
arn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The full Amazon Resource Name (ARN) for the virtual router.
createdAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The Unix epoch timestamp in seconds for when the resource was created.
lastUpdatedAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The Unix epoch timestamp in seconds for when the resource was last updated.
meshName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service mesh that the virtual router resides in.
meshOwner:
allOf:
- $ref: '#/components/schemas/AccountId'
- 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 Working with shared meshes.
resourceOwner:
allOf:
- $ref: '#/components/schemas/AccountId'
- description: The Amazon Web Services 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.
version:
allOf:
- $ref: '#/components/schemas/Long'
- description: The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
virtualRouterName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the virtual router.
description: An object that represents a virtual router returned by a list operation.
VirtualGatewayListeners:
type: array
items:
$ref: '#/components/schemas/VirtualGatewayListener'
CreateGatewayRouteOutput:
type: object
required:
- gatewayRoute
properties:
gatewayRoute:
allOf:
- $ref: '#/components/schemas/GatewayRouteData'
- description: The full description of your gateway route following the create call.
GrpcGatewayRoute:
type: object
required:
- action
- match
properties:
action:
allOf:
- $ref: '#/components/schemas/GrpcGatewayRouteAction'
- description: An object that represents the action to take if a match is determined.
match:
allOf:
- $ref: '#/components/schemas/GrpcGatewayRouteMatch'
- description: An object that represents the criteria for determining a request match.
description: An object that represents a gRPC gateway route.
VirtualRouterData:
type: object
required:
- meshName
- metadata
- spec
- status
- virtualRouterName
properties:
meshName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service mesh that the virtual router resides in.
metadata:
allOf:
- $ref: '#/components/schemas/ResourceMetadata'
- description: The associated metadata for the virtual router.
spec:
allOf:
- $ref: '#/components/schemas/VirtualRouterSpec'
- description: The specifications of the virtual router.
status:
allOf:
- $ref: '#/components/schemas/VirtualRouterStatus'
- description: The current status of the virtual router.
virtualRouterName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the virtual router.
description: An object that represents a virtual router returned by a describe operation.
GrpcGatewayRouteRewrite:
type: object
properties:
hostname:
allOf:
- $ref: '#/components/schemas/GatewayRouteHostnameRewrite'
- description: The host name of the gateway route to rewrite.
description: An object that represents the gateway route to rewrite.
TlsValidationContextFileTrust:
type: object
required:
- certificateChain
properties:
certificateChain:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.
description: An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
HttpGatewayRoute:
type: object
required:
- action
- match
properties:
action:
allOf:
- $ref: '#/components/schemas/HttpGatewayRouteAction'
- description: An object that represents the action to take if a match is determined.
match:
allOf:
- $ref: '#/components/schemas/HttpGatewayRouteMatch'
- description: An object that represents the criteria for determining a request match.
description: An object that represents an HTTP gateway route.
GrpcRetryPolicy:
type: object
required:
- maxRetries
- perRetryTimeout
properties:
grpcRetryEvents:
allOf:
- $ref: '#/components/schemas/GrpcRetryPolicyEvents'
- description: Specify at least one of the valid values.
httpRetryEvents:
allOf:
- $ref: '#/components/schemas/HttpRetryPolicyEvents'
- description: Specify at least one of the following values.
server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
gateway-error – HTTP status codes 502, 503, and 504
client-error – HTTP status code 409
stream-error – Retry on refused stream
RetryEvents, a value for maxRetries, and a value for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents include the Envoy reset policy. For more information on the reset policy, see the Envoy documentation.
ListenerTlsFileCertificate:
type: object
required:
- certificateChain
- privateKey
properties:
certificateChain:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The certificate chain for the certificate.
privateKey:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The private key for a certificate stored on the file system of the virtual node that the proxy is running on.
description: An object that represents a local file certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
GrpcRetryPolicyEvent:
type: string
enum:
- cancelled
- deadline-exceeded
- internal
- resource-exhausted
- unavailable
LoggingFormat:
type: object
properties:
json:
allOf:
- $ref: '#/components/schemas/JsonFormat'
- description:
text:
allOf:
- $ref: '#/components/schemas/TextFormat'
- description:
description: An object that represents the format for the logs.
AwsCloudMapServiceDiscovery:
type: object
required:
- namespaceName
- serviceName
properties:
attributes:
allOf:
- $ref: '#/components/schemas/AwsCloudMapInstanceAttributes'
- description: A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
ipPreference:
allOf:
- $ref: '#/components/schemas/IpPreference'
- description: The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.
namespaceName:
allOf:
- $ref: '#/components/schemas/AwsCloudMapName'
- description: The name of the Cloud Map namespace to use.
serviceName:
allOf:
- $ref: '#/components/schemas/AwsCloudMapName'
- description: The name of the Cloud Map service to use.
description: An object that represents the Cloud Map service discovery information for your virtual node.
Cloud Map is not available in the eu-south-1 Region.
True, if a value isn't specified.
ports:
allOf:
- $ref: '#/components/schemas/PortSet'
- description: One or more ports that the policy is enforced for.
validation:
allOf:
- $ref: '#/components/schemas/TlsValidationContext'
- description: A reference to an object that represents a TLS validation context.
description: A reference to an object that represents a Transport Layer Security (TLS) client policy.
TlsValidationContextTrust:
type: object
properties:
acm:
allOf:
- $ref: '#/components/schemas/TlsValidationContextAcmTrust'
- description: A reference to an object that represents a Transport Layer Security (TLS) validation context trust for an Certificate Manager certificate.
file:
allOf:
- $ref: '#/components/schemas/TlsValidationContextFileTrust'
- description: An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
sds:
allOf:
- $ref: '#/components/schemas/TlsValidationContextSdsTrust'
- description: A reference to an object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust.
description: An object that represents a Transport Layer Security (TLS) validation context trust.
RouteData:
type: object
required:
- meshName
- metadata
- routeName
- spec
- status
- virtualRouterName
properties:
meshName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service mesh that the route resides in.
metadata:
allOf:
- $ref: '#/components/schemas/ResourceMetadata'
- description: The associated metadata for the route.
routeName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the route.
spec:
allOf:
- $ref: '#/components/schemas/RouteSpec'
- description: The specifications of the route.
status:
allOf:
- $ref: '#/components/schemas/RouteStatus'
- description: The status of the route.
virtualRouterName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The virtual router that the route is associated with.
description: An object that represents a route returned by a describe operation.
ListVirtualGatewaysOutput:
type: object
required:
- virtualGateways
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/String'
- description: The nextToken value to include in a future ListVirtualGateways request. When the results of a ListVirtualGateways request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
virtualGateways:
allOf:
- $ref: '#/components/schemas/VirtualGatewayList'
- description: The list of existing virtual gateways for the specified service mesh.
DescribeVirtualGatewayOutput:
type: object
required:
- virtualGateway
properties:
virtualGateway:
allOf:
- $ref: '#/components/schemas/VirtualGatewayData'
- description: The full description of your virtual gateway.
ListenerTlsValidationContext:
type: object
required:
- trust
properties:
subjectAlternativeNames:
allOf:
- $ref: '#/components/schemas/SubjectAlternativeNames'
- description: A reference to an object that represents the SANs for a listener's Transport Layer Security (TLS) validation context.
trust:
allOf:
- $ref: '#/components/schemas/ListenerTlsValidationContextTrust'
- description: A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
description: An object that represents a listener's Transport Layer Security (TLS) validation context.
VirtualRouterStatusCode:
type: string
enum:
- ACTIVE
- INACTIVE
- DELETED
VirtualGatewayTlsValidationContextTrust:
type: object
properties:
acm:
allOf:
- $ref: '#/components/schemas/VirtualGatewayTlsValidationContextAcmTrust'
- description: A reference to an object that represents a Transport Layer Security (TLS) validation context trust for an Certificate Manager certificate.
file:
allOf:
- $ref: '#/components/schemas/VirtualGatewayTlsValidationContextFileTrust'
- description: An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
sds:
allOf:
- $ref: '#/components/schemas/VirtualGatewayTlsValidationContextSdsTrust'
- description: A reference to an object that represents a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
description: An object that represents a Transport Layer Security (TLS) validation context trust.
VirtualGatewayHealthCheckTimeoutMillis:
type: integer
minimum: 2000
maximum: 60000
PercentInt:
type: integer
minimum: 0
maximum: 100
JsonValue:
type: string
minLength: 1
maxLength: 100
UpdateVirtualServiceOutput:
type: object
required:
- virtualService
properties:
virtualService:
allOf:
- $ref: '#/components/schemas/VirtualServiceData'
- description: A full description of the virtual service that was updated.
description: 5xx errors required for ejection. '
description: An object that represents the outlier detection for a virtual node's listener.
GatewayRouteStatus:
type: object
required:
- status
properties:
status:
allOf:
- $ref: '#/components/schemas/GatewayRouteStatusCode'
- description: The current status for the gateway route.
description: An object that represents the current status of a gateway route.
VirtualGatewayListenerTlsValidationContext:
type: object
required:
- trust
properties:
subjectAlternativeNames:
allOf:
- $ref: '#/components/schemas/SubjectAlternativeNames'
- description: A reference to an object that represents the SANs for a virtual gateway listener's Transport Layer Security (TLS) validation context.
trust:
allOf:
- $ref: '#/components/schemas/VirtualGatewayListenerTlsValidationContextTrust'
- description: A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
description: An object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context.
VirtualNodeGrpcConnectionPool:
type: object
required:
- maxRequests
properties:
maxRequests:
allOf:
- $ref: '#/components/schemas/MaxRequests'
- description: Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
description: An object that represents a type of connection pool.
EgressFilter:
type: object
required:
- type
properties:
type:
allOf:
- $ref: '#/components/schemas/EgressFilterType'
- description: The egress filter type. By default, the type is DROP_ALL, which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to *.amazonaws.com for Amazon Web Services API calls). You can set the egress filter type to ALLOW_ALL to allow egress to any endpoint inside or outside of the service mesh.
description: An object that represents the egress filter rules for a service mesh.
TcpTimeout:
type: object
properties:
idle:
allOf:
- $ref: '#/components/schemas/Duration'
- description: An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
description: 'An object that represents types of timeouts. '
HttpQueryParameters:
type: array
items:
$ref: '#/components/schemas/HttpQueryParameter'
minItems: 1
maxItems: 10
SubjectAlternativeName:
type: string
minLength: 1
maxLength: 254
HttpMethod:
type: string
enum:
- GET
- HEAD
- POST
- PUT
- DELETE
- CONNECT
- OPTIONS
- TRACE
- PATCH
DescribeMeshOutput:
type: object
required:
- mesh
properties:
mesh:
allOf:
- $ref: '#/components/schemas/MeshData'
- description: The full description of your service mesh.
description: True to match anything except the match criteria. The default value is False.
match:
allOf:
- $ref: '#/components/schemas/HeaderMatchMethod'
- description: An object that represents the method and value to match with the header value sent in a request. Specify one match method.
name:
allOf:
- $ref: '#/components/schemas/HeaderName'
- description: A name for the HTTP header in the gateway route that will be matched on.
description: An object that represents the HTTP header in the gateway route.
MeshData:
type: object
required:
- meshName
- metadata
- spec
- status
properties:
meshName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service mesh.
metadata:
allOf:
- $ref: '#/components/schemas/ResourceMetadata'
- description: The associated metadata for the service mesh.
spec:
allOf:
- $ref: '#/components/schemas/MeshSpec'
- description: The associated specification for the service mesh.
status:
allOf:
- $ref: '#/components/schemas/MeshStatus'
- description: The status of the service mesh.
description: An object that represents a service mesh returned by a describe operation.
Timestamp:
type: string
format: date-time
TlsValidationContext:
type: object
required:
- trust
properties:
subjectAlternativeNames:
allOf:
- $ref: '#/components/schemas/SubjectAlternativeNames'
- description: A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context. If you don't specify SANs on the terminating mesh endpoint, the Envoy proxy for that node doesn't verify the SAN on a peer client certificate. If you don't specify SANs on the originating mesh endpoint, the SAN on the certificate provided by the terminating endpoint must match the mesh endpoint service discovery configuration. Since SPIRE vended certificates have a SPIFFE ID as a name, you must set the SAN since the name doesn't match the service discovery name.
trust:
allOf:
- $ref: '#/components/schemas/TlsValidationContextTrust'
- description: A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.
description: An object that represents how the proxy will validate its peer during Transport Layer Security (TLS) negotiation.
HttpPathExact:
type: string
minLength: 1
maxLength: 255
CreateVirtualRouterOutput:
type: object
required:
- virtualRouter
properties:
virtualRouter:
allOf:
- $ref: '#/components/schemas/VirtualRouterData'
- description: The full description of your virtual router following the create call.
description: grpc, then your service must conform to the GRPC Health Checking Protocol.
timeoutMillis:
allOf:
- $ref: '#/components/schemas/HealthCheckTimeoutMillis'
- description: The amount of time to wait when receiving a response from the health check, in milliseconds.
unhealthyThreshold:
allOf:
- $ref: '#/components/schemas/HealthCheckThreshold'
- description: 'The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. '
description: An object that represents the health check policy for a virtual node's listener.
TcpRoute:
type: object
required:
- action
properties:
action:
allOf:
- $ref: '#/components/schemas/TcpRouteAction'
- description: The action to take if a match is determined.
match:
allOf:
- $ref: '#/components/schemas/TcpRouteMatch'
- description: An object that represents the criteria for determining a request match.
timeout:
allOf:
- $ref: '#/components/schemas/TcpTimeout'
- description: 'An object that represents types of timeouts. '
description: An object that represents a TCP route type.
VirtualGatewayConnectionPool:
type: object
properties:
grpc:
allOf:
- $ref: '#/components/schemas/VirtualGatewayGrpcConnectionPool'
- description: 'An object that represents a type of connection pool. '
http:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHttpConnectionPool'
- description: An object that represents a type of connection pool.
http2:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHttp2ConnectionPool'
- description: An object that represents a type of connection pool.
description: An object that represents the type of virtual gateway connection pool.
Only one protocol is used at a time and should be the same protocol as the one chosen under port mapping.
If not present the default value for maxPendingRequests is 2147483647.
nextToken value to include in a future ListVirtualRouters request. When the results of a ListVirtualRouters request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
virtualRouters:
allOf:
- $ref: '#/components/schemas/VirtualRouterList'
- description: The list of existing virtual routers for the specified service mesh.
description: /, which by itself matches all requests to the virtual service name. You can also match 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.
queryParameters:
allOf:
- $ref: '#/components/schemas/HttpQueryParameters'
- description: The query parameter to match on.
description: An object that represents the criteria for determining a request match.
MeshList:
type: array
items:
$ref: '#/components/schemas/MeshRef'
HealthCheckThreshold:
type: integer
minimum: 2
maximum: 10
GatewayRouteHostnameMatch:
type: object
properties:
exact:
allOf:
- $ref: '#/components/schemas/ExactHostName'
- description: The exact host name to match on.
suffix:
allOf:
- $ref: '#/components/schemas/SuffixHostname'
- description: The specified ending characters of the host name to match on.
description: An object representing the gateway route host name to match.
HeaderMatch:
type: string
minLength: 1
maxLength: 255
MeshSpec:
type: object
properties:
egressFilter:
allOf:
- $ref: '#/components/schemas/EgressFilter'
- description: The egress filter rules for the service mesh.
serviceDiscovery:
$ref: '#/components/schemas/MeshServiceDiscovery'
description: An object that represents the specification of a service mesh.
VirtualServiceSpec:
type: object
properties:
provider:
allOf:
- $ref: '#/components/schemas/VirtualServiceProvider'
- description: The App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router.
description: An object that represents the specification of a virtual service.
GrpcGatewayRouteMetadataList:
type: array
items:
$ref: '#/components/schemas/GrpcGatewayRouteMetadata'
minItems: 1
maxItems: 10
GrpcRouteMetadataMatchMethod:
type: object
properties:
exact:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The value sent by the client must match the specified value exactly.
prefix:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The value sent by the client must begin with the specified characters.
range:
allOf:
- $ref: '#/components/schemas/MatchRange'
- description: An object that represents the range of values to match on.
regex:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The value sent by the client must include the specified characters.
suffix:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The value sent by the client must end with the specified characters.
description: An object that represents the match method. Specify one of the match values.
VirtualGatewayHttpConnectionPool:
type: object
required:
- maxConnections
properties:
maxConnections:
allOf:
- $ref: '#/components/schemas/MaxConnections'
- description: Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.
maxPendingRequests:
allOf:
- $ref: '#/components/schemas/MaxPendingRequests'
- description: Number of overflowing requests after max_connections Envoy will queue to upstream cluster.
description: An object that represents a type of connection pool.
Listeners:
type: array
items:
$ref: '#/components/schemas/Listener'
ListenerTls:
type: object
required:
- certificate
- mode
properties:
certificate:
allOf:
- $ref: '#/components/schemas/ListenerTlsCertificate'
- description: A reference to an object that represents a listener's Transport Layer Security (TLS) certificate.
mode:
allOf:
- $ref: '#/components/schemas/ListenerTlsMode'
- description: Specify one of the following modes.
STRICT – Listener only accepts connections with TLS enabled.
PERMISSIVE – Listener accepts connections with or without TLS enabled.
DISABLED – Listener only accepts connections without TLS.
Specify at least one of the following values.
server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
gateway-error – HTTP status codes 502, 503, and 504
client-error – HTTP status code 409
stream-error – Retry on refused stream
RetryEvents, a value for maxRetries, and a value for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents include the Envoy reset policy. For more information on the reset policy, see the Envoy documentation.
GrpcRouteMetadataList:
type: array
items:
$ref: '#/components/schemas/GrpcRouteMetadata'
minItems: 1
maxItems: 10
GatewayRouteVirtualService:
type: object
required:
- virtualServiceName
properties:
virtualServiceName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the virtual service that traffic is routed to.
description: An object that represents the virtual service that traffic is routed to.
GrpcRetryPolicyEvents:
type: array
items:
$ref: '#/components/schemas/GrpcRetryPolicyEvent'
minItems: 1
maxItems: 5
TcpRouteMatch:
type: object
properties:
port:
allOf:
- $ref: '#/components/schemas/ListenerPort'
- description: The port number to match on.
description: An object representing the TCP route to match.
ListenerTlsValidationContextTrust:
type: object
properties:
file:
allOf:
- $ref: '#/components/schemas/TlsValidationContextFileTrust'
- description: An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
sds:
allOf:
- $ref: '#/components/schemas/TlsValidationContextSdsTrust'
- description: A reference to an object that represents a listener's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
description: An object that represents a listener's Transport Layer Security (TLS) validation context trust.
VirtualGatewayStatusCode:
type: string
enum:
- ACTIVE
- INACTIVE
- DELETED
AwsCloudMapInstanceAttributeKey:
type: string
pattern: ^[a-zA-Z0-9!-~]+$
minLength: 1
maxLength: 255
DeleteGatewayRouteOutput:
type: object
required:
- gatewayRoute
properties:
gatewayRoute:
allOf:
- $ref: '#/components/schemas/GatewayRouteData'
- description: The gateway route that was deleted.
VirtualGatewaySpec:
type: object
required:
- listeners
properties:
backendDefaults:
allOf:
- $ref: '#/components/schemas/VirtualGatewayBackendDefaults'
- description: A reference to an object that represents the defaults for backends.
listeners:
allOf:
- $ref: '#/components/schemas/VirtualGatewayListeners'
- description: The listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener.
logging:
$ref: '#/components/schemas/VirtualGatewayLogging'
description: An object that represents the specification of a service mesh resource.
ResourceMetadata:
type: object
required:
- arn
- createdAt
- lastUpdatedAt
- meshOwner
- resourceOwner
- uid
- version
properties:
arn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The full Amazon Resource Name (ARN) for the resource.
createdAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The Unix epoch timestamp in seconds for when the resource was created.
lastUpdatedAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The Unix epoch timestamp in seconds for when the resource was last updated.
meshOwner:
allOf:
- $ref: '#/components/schemas/AccountId'
- 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 Working with shared meshes.
resourceOwner:
allOf:
- $ref: '#/components/schemas/AccountId'
- description: The Amazon Web Services 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:
allOf:
- $ref: '#/components/schemas/String'
- description: The unique identifier for the resource.
version:
allOf:
- $ref: '#/components/schemas/Long'
- description: The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
description: An object that represents metadata for a resource.
HttpPathRegex:
type: string
minLength: 1
maxLength: 255
HttpPathMatch:
type: object
properties:
exact:
allOf:
- $ref: '#/components/schemas/HttpPathExact'
- description: The exact path to match on.
regex:
allOf:
- $ref: '#/components/schemas/HttpPathRegex'
- description: The regex used to match the path.
description: An object representing the path to match in the request.
ExactHostName:
type: string
minLength: 1
maxLength: 253
ResourceName:
type: string
minLength: 1
maxLength: 255
FileAccessLog:
type: object
required:
- path
properties:
format:
allOf:
- $ref: '#/components/schemas/LoggingFormat'
- description: The specified format for the logs. The format is either json_format or text_format.
path:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The file path to write access logs to. You can use /dev/stdout to send access logs to standard out and configure your Envoy container to use a log driver, such as awslogs, to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.
<note> <p>The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.</p> </note>
description: An object that represents an access log file.
VirtualGatewayListenerTlsSdsCertificate:
type: object
required:
- secretName
properties:
secretName:
allOf:
- $ref: '#/components/schemas/VirtualGatewaySdsSecretName'
- description: A reference to an object that represents the name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.
description: 'An object that represents the virtual gateway''s listener''s Secret Discovery Service certificate.The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App MeshTLS documentation for more info. '
VirtualGatewayBackendDefaults:
type: object
properties:
clientPolicy:
allOf:
- $ref: '#/components/schemas/VirtualGatewayClientPolicy'
- description: A reference to an object that represents a client policy.
description: An object that represents the default properties for a backend.
GatewayRouteStatusCode:
type: string
enum:
- ACTIVE
- INACTIVE
- DELETED
Boolean:
type: boolean
HttpRetryPolicyEvents:
type: array
items:
$ref: '#/components/schemas/HttpRetryPolicyEvent'
minItems: 1
maxItems: 25
QueryParameterName:
type: string
QueryParameterMatch:
type: object
properties:
exact:
allOf:
- $ref: '#/components/schemas/String'
- description: The exact query parameter to match on.
description: An object representing the query parameter to match.
VirtualGatewayListenerTlsCertificate:
type: object
properties:
acm:
allOf:
- $ref: '#/components/schemas/VirtualGatewayListenerTlsAcmCertificate'
- description: A reference to an object that represents an Certificate Manager certificate.
file:
allOf:
- $ref: '#/components/schemas/VirtualGatewayListenerTlsFileCertificate'
- description: A reference to an object that represents a local file certificate.
sds:
allOf:
- $ref: '#/components/schemas/VirtualGatewayListenerTlsSdsCertificate'
- description: A reference to an object that represents a virtual gateway's listener's Secret Discovery Service certificate.
description: An object that represents a listener's Transport Layer Security (TLS) certificate.
HttpRouteHeader:
type: object
required:
- name
properties:
invert:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: Specify True to match anything except the match criteria. The default value is False.
match:
allOf:
- $ref: '#/components/schemas/HeaderMatchMethod'
- description: The HeaderMatchMethod object.
name:
allOf:
- $ref: '#/components/schemas/HeaderName'
- description: A name for the HTTP header in the client request that will be matched on.
description: An object that represents the HTTP header in the request.
UpdateMeshOutput:
type: object
required:
- mesh
properties:
mesh:
$ref: '#/components/schemas/MeshData'
description: An object that represents the Cloud Map attribute information for your virtual node.
Cloud Map is not available in the eu-south-1 Region.
Specify one of the following modes.
STRICT – Listener only accepts connections with TLS enabled.
PERMISSIVE – Listener accepts connections with or without TLS enabled.
DISABLED – Listener only accepts connections without TLS.
max_connections Envoy will queue to upstream cluster.
description: An object that represents a type of connection pool.
HttpGatewayRouteRewrite:
type: object
properties:
hostname:
allOf:
- $ref: '#/components/schemas/GatewayRouteHostnameRewrite'
- description: The host name to rewrite.
path:
allOf:
- $ref: '#/components/schemas/HttpGatewayRoutePathRewrite'
- description: The path to rewrite.
prefix:
allOf:
- $ref: '#/components/schemas/HttpGatewayRoutePrefixRewrite'
- description: The specified beginning characters to rewrite.
description: An object representing the gateway route to rewrite.
RouteStatus:
type: object
required:
- status
properties:
status:
allOf:
- $ref: '#/components/schemas/RouteStatusCode'
- description: The current status for the route.
description: An object that represents the current status of a route.
TlsValidationContextSdsTrust:
type: object
required:
- secretName
properties:
secretName:
allOf:
- $ref: '#/components/schemas/SdsSecretName'
- description: A reference to an object that represents the name of the secret for a Transport Layer Security (TLS) Secret Discovery Service validation context trust.
description: An object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust. The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh TLS documentation for more info.
TagRef:
type: object
required:
- key
- value
properties:
key:
allOf:
- $ref: '#/components/schemas/TagKey'
- description: One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
value:
allOf:
- $ref: '#/components/schemas/TagValue'
- description: The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
description: Optional metadata that you apply to a resource 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.
MeshServiceDiscovery:
type: object
properties:
ipPreference:
allOf:
- $ref: '#/components/schemas/IpPreference'
- description: The IP version to use to control traffic within the mesh.
description: An object that represents the service discovery information for a service mesh.
CreateVirtualServiceOutput:
type: object
required:
- virtualService
properties:
virtualService:
allOf:
- $ref: '#/components/schemas/VirtualServiceData'
- description: The full description of your virtual service following the create call.
description: nextToken value to include in a future ListRoutes request. When the results of a ListRoutes request exceed limit, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.
routes:
allOf:
- $ref: '#/components/schemas/RouteList'
- description: The list of existing routes for the specified service mesh and virtual router.
description: serviceName.
port:
allOf:
- $ref: '#/components/schemas/ListenerPort'
- description: The port number to match on.
serviceName:
allOf:
- $ref: '#/components/schemas/ServiceName'
- description: The fully qualified domain name for the service to match from the request.
description: An object that represents the criteria for determining a request match.
UpdateVirtualGatewayOutput:
type: object
required:
- virtualGateway
properties:
virtualGateway:
allOf:
- $ref: '#/components/schemas/VirtualGatewayData'
- description: A full description of the virtual gateway that was updated.
VirtualGatewayHttp2ConnectionPool:
type: object
required:
- maxRequests
properties:
maxRequests:
allOf:
- $ref: '#/components/schemas/MaxRequests'
- description: Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.
description: An object that represents a type of connection pool.
VirtualGatewayData:
type: object
required:
- meshName
- metadata
- spec
- status
- virtualGatewayName
properties:
meshName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service mesh that the virtual gateway resides in.
metadata:
$ref: '#/components/schemas/ResourceMetadata'
spec:
allOf:
- $ref: '#/components/schemas/VirtualGatewaySpec'
- description: The specifications of the virtual gateway.
status:
allOf:
- $ref: '#/components/schemas/VirtualGatewayStatus'
- description: The current status of the virtual gateway.
virtualGatewayName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the virtual gateway.
description: An object that represents a virtual gateway returned by a describe operation.
ServiceName:
type: string
CreateMeshOutput:
type: object
required:
- mesh
properties:
mesh:
allOf:
- $ref: '#/components/schemas/MeshData'
- description: The full description of your service mesh following the create call.
description: True, if a value isn't specified.
ports:
allOf:
- $ref: '#/components/schemas/PortSet'
- description: One or more ports that the policy is enforced for.
validation:
allOf:
- $ref: '#/components/schemas/VirtualGatewayTlsValidationContext'
- description: A reference to an object that represents a Transport Layer Security (TLS) validation context.
description: An object that represents a Transport Layer Security (TLS) client policy.
RouteList:
type: array
items:
$ref: '#/components/schemas/RouteRef'
VirtualGatewayFileAccessLog:
type: object
required:
- path
properties:
format:
allOf:
- $ref: '#/components/schemas/LoggingFormat'
- description: The specified format for the virtual gateway access logs. It can be either json_format or text_format.
path:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The file path to write access logs to. You can use /dev/stdout to send access logs to standard out and configure your Envoy container to use a log driver, such as awslogs, to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.
description: An object that represents an access log file.
ListenerTlsAcmCertificate:
type: object
required:
- certificateArn
properties:
certificateArn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The Amazon Resource Name (ARN) for the certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
description: An object that represents an Certificate Manager certificate.
Backend:
type: object
properties:
virtualService:
allOf:
- $ref: '#/components/schemas/VirtualServiceBackend'
- description: 'Specifies a virtual service to use as a backend. '
description: An object that represents the backends that a virtual node is expected to send outbound traffic to.
GrpcMetadataMatchMethod:
type: object
properties:
exact:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The exact method header to be matched on.
prefix:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The specified beginning characters of the method header to be matched on.
range:
$ref: '#/components/schemas/MatchRange'
regex:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The regex used to match the method header.
suffix:
allOf:
- $ref: '#/components/schemas/HeaderMatch'
- description: The specified ending characters of the method header to match on.
description: An object representing the method header to be matched.
DeleteVirtualNodeOutput:
type: object
required:
- virtualNode
properties:
virtualNode:
allOf:
- $ref: '#/components/schemas/VirtualNodeData'
- description: The virtual node that was deleted.
description: True to match anything except the match criteria. The default value is False.
match:
allOf:
- $ref: '#/components/schemas/GrpcRouteMetadataMatchMethod'
- description: An object that represents the data to match from the request.
name:
allOf:
- $ref: '#/components/schemas/HeaderName'
- description: The name of the route.
description: An object that represents the match metadata for the route.
VirtualGatewayHealthCheckPolicy:
type: object
required:
- healthyThreshold
- intervalMillis
- protocol
- timeoutMillis
- unhealthyThreshold
properties:
healthyThreshold:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHealthCheckThreshold'
- description: The number of consecutive successful health checks that must occur before declaring the listener healthy.
intervalMillis:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHealthCheckIntervalMillis'
- description: The time period in milliseconds between each health check execution.
path:
allOf:
- $ref: '#/components/schemas/String'
- description: The destination path for the health check request. This value is only used if the specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
port:
allOf:
- $ref: '#/components/schemas/PortNumber'
- description: The destination port for the health check request. This port must match the port defined in the PortMapping for the listener.
protocol:
allOf:
- $ref: '#/components/schemas/VirtualGatewayPortProtocol'
- description: The protocol for the health check request. If you specify grpc, then your service must conform to the GRPC Health Checking Protocol.
timeoutMillis:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHealthCheckTimeoutMillis'
- description: The amount of time to wait when receiving a response from the health check, in milliseconds.
unhealthyThreshold:
allOf:
- $ref: '#/components/schemas/VirtualGatewayHealthCheckThreshold'
- description: The number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy.
description: An object that represents the health check policy for a virtual gateway's listener.
ListenerTlsSdsCertificate:
type: object
required:
- secretName
properties:
secretName:
allOf:
- $ref: '#/components/schemas/SdsSecretName'
- description: A reference to an object that represents the name of the secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.
description: An object that represents the listener's Secret Discovery Service certificate. The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh TLS documentation for more info.
VirtualGatewayListenerTlsFileCertificate:
type: object
required:
- certificateChain
- privateKey
properties:
certificateChain:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The certificate chain for the certificate.
privateKey:
allOf:
- $ref: '#/components/schemas/FilePath'
- description: The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on.
description: An object that represents a local file certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
SuffixHostname:
type: string
minLength: 1
maxLength: 253
Long:
type: integer
CreateVirtualNodeOutput:
type: object
required:
- virtualNode
properties:
virtualNode:
allOf:
- $ref: '#/components/schemas/VirtualNodeData'
- description: The full description of your virtual node following the create call.
description: