AWS App Mesh API

The AWS App Mesh API provides programmatic access to configure and manage service mesh resources for microservices. It enables developers to create and manage meshes, virtual services, virtual nodes, virtual routers, and routes, providing fine-grained control over service-to-service communication, traffic routing, and observability.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

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

# --- truncated at 32 KB (299 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-app-mesh/refs/heads/main/openapi/amazon-app-mesh-openapi.yaml