/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.appmesh; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.appmesh.model.*; /** * Interface for accessing AWS App Mesh. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.appmesh.AbstractAWSAppMesh} instead. *
**
* 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. *
* * @param createGatewayRouteRequest * @return Result of the CreateGatewayRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateGatewayRoute * @see AWS API * Documentation */ CreateGatewayRouteResult createGatewayRoute(CreateGatewayRouteRequest createGatewayRouteRequest); /** ** 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. *
* * @param createMeshRequest * @return Result of the CreateMesh operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateMesh * @see AWS API * Documentation */ CreateMeshResult createMesh(CreateMeshRequest createMeshRequest); /** ** 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. *
* * @param createRouteRequest * @return Result of the CreateRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateRoute * @see AWS API * Documentation */ CreateRouteResult createRoute(CreateRouteRequest createRouteRequest); /** ** 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. *
* * @param createVirtualGatewayRequest * @return Result of the CreateVirtualGateway operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateVirtualGateway * @see AWS * API Documentation */ CreateVirtualGatewayResult createVirtualGateway(CreateVirtualGatewayRequest createVirtualGatewayRequest); /** ** 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.
*
* 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. *
* * @param createVirtualRouterRequest * @return Result of the CreateVirtualRouter operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateVirtualRouter * @see AWS * API Documentation */ CreateVirtualRouterResult createVirtualRouter(CreateVirtualRouterRequest createVirtualRouterRequest); /** ** 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. *
* * @param createVirtualServiceRequest * @return Result of the CreateVirtualService operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.CreateVirtualService * @see AWS * API Documentation */ CreateVirtualServiceResult createVirtualService(CreateVirtualServiceRequest createVirtualServiceRequest); /** ** Deletes an existing gateway route. *
* * @param deleteGatewayRouteRequest * @return Result of the DeleteGatewayRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteGatewayRoute * @see AWS API * Documentation */ DeleteGatewayRouteResult deleteGatewayRoute(DeleteGatewayRouteRequest deleteGatewayRouteRequest); /** ** 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. *
* * @param deleteMeshRequest * @return Result of the DeleteMesh operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteMesh * @see AWS API * Documentation */ DeleteMeshResult deleteMesh(DeleteMeshRequest deleteMeshRequest); /** ** Deletes an existing route. *
* * @param deleteRouteRequest * @return Result of the DeleteRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteRoute * @see AWS API * Documentation */ DeleteRouteResult deleteRoute(DeleteRouteRequest deleteRouteRequest); /** ** Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to * it. *
* * @param deleteVirtualGatewayRequest * @return Result of the DeleteVirtualGateway operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteVirtualGateway * @see AWS * API Documentation */ DeleteVirtualGatewayResult deleteVirtualGateway(DeleteVirtualGatewayRequest deleteVirtualGatewayRequest); /** ** 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. *
* * @param deleteVirtualNodeRequest * Deletes a virtual node input. * @return Result of the DeleteVirtualNode operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteVirtualNode * @see AWS API * Documentation */ DeleteVirtualNodeResult deleteVirtualNode(DeleteVirtualNodeRequest deleteVirtualNodeRequest); /** ** Deletes an existing virtual router. *
** You must delete any routes associated with the virtual router before you can delete the router itself. *
* * @param deleteVirtualRouterRequest * @return Result of the DeleteVirtualRouter operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteVirtualRouter * @see AWS * API Documentation */ DeleteVirtualRouterResult deleteVirtualRouter(DeleteVirtualRouterRequest deleteVirtualRouterRequest); /** ** Deletes an existing virtual service. *
* * @param deleteVirtualServiceRequest * @return Result of the DeleteVirtualService operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ResourceInUseException * You can't delete the specified resource because it's in use or required by another resource. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DeleteVirtualService * @see AWS * API Documentation */ DeleteVirtualServiceResult deleteVirtualService(DeleteVirtualServiceRequest deleteVirtualServiceRequest); /** ** Describes an existing gateway route. *
* * @param describeGatewayRouteRequest * @return Result of the DescribeGatewayRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeGatewayRoute * @see AWS * API Documentation */ DescribeGatewayRouteResult describeGatewayRoute(DescribeGatewayRouteRequest describeGatewayRouteRequest); /** ** Describes an existing service mesh. *
* * @param describeMeshRequest * @return Result of the DescribeMesh operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeMesh * @see AWS API * Documentation */ DescribeMeshResult describeMesh(DescribeMeshRequest describeMeshRequest); /** ** Describes an existing route. *
* * @param describeRouteRequest * @return Result of the DescribeRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeRoute * @see AWS API * Documentation */ DescribeRouteResult describeRoute(DescribeRouteRequest describeRouteRequest); /** ** Describes an existing virtual gateway. *
* * @param describeVirtualGatewayRequest * @return Result of the DescribeVirtualGateway operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeVirtualGateway * @see AWS * API Documentation */ DescribeVirtualGatewayResult describeVirtualGateway(DescribeVirtualGatewayRequest describeVirtualGatewayRequest); /** ** Describes an existing virtual node. *
* * @param describeVirtualNodeRequest * @return Result of the DescribeVirtualNode operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeVirtualNode * @see AWS * API Documentation */ DescribeVirtualNodeResult describeVirtualNode(DescribeVirtualNodeRequest describeVirtualNodeRequest); /** ** Describes an existing virtual router. *
* * @param describeVirtualRouterRequest * @return Result of the DescribeVirtualRouter operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeVirtualRouter * @see AWS * API Documentation */ DescribeVirtualRouterResult describeVirtualRouter(DescribeVirtualRouterRequest describeVirtualRouterRequest); /** ** Describes an existing virtual service. *
* * @param describeVirtualServiceRequest * @return Result of the DescribeVirtualService operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.DescribeVirtualService * @see AWS * API Documentation */ DescribeVirtualServiceResult describeVirtualService(DescribeVirtualServiceRequest describeVirtualServiceRequest); /** ** Returns a list of existing gateway routes that are associated to a virtual gateway. *
* * @param listGatewayRoutesRequest * @return Result of the ListGatewayRoutes operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListGatewayRoutes * @see AWS API * Documentation */ ListGatewayRoutesResult listGatewayRoutes(ListGatewayRoutesRequest listGatewayRoutesRequest); /** ** Returns a list of existing service meshes. *
* * @param listMeshesRequest * @return Result of the ListMeshes operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListMeshes * @see AWS API * Documentation */ ListMeshesResult listMeshes(ListMeshesRequest listMeshesRequest); /** ** Returns a list of existing routes in a service mesh. *
* * @param listRoutesRequest * @return Result of the ListRoutes operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListRoutes * @see AWS API * Documentation */ ListRoutesResult listRoutes(ListRoutesRequest listRoutesRequest); /** ** List the tags for an App Mesh resource. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** ** Returns a list of existing virtual gateways in a service mesh. *
* * @param listVirtualGatewaysRequest * @return Result of the ListVirtualGateways operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListVirtualGateways * @see AWS * API Documentation */ ListVirtualGatewaysResult listVirtualGateways(ListVirtualGatewaysRequest listVirtualGatewaysRequest); /** ** Returns a list of existing virtual nodes. *
* * @param listVirtualNodesRequest * @return Result of the ListVirtualNodes operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListVirtualNodes * @see AWS API * Documentation */ ListVirtualNodesResult listVirtualNodes(ListVirtualNodesRequest listVirtualNodesRequest); /** ** Returns a list of existing virtual routers in a service mesh. *
* * @param listVirtualRoutersRequest * @return Result of the ListVirtualRouters operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListVirtualRouters * @see AWS API * Documentation */ ListVirtualRoutersResult listVirtualRouters(ListVirtualRoutersRequest listVirtualRoutersRequest); /** ** Returns a list of existing virtual services in a service mesh. *
* * @param listVirtualServicesRequest * @return Result of the ListVirtualServices operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.ListVirtualServices * @see AWS * API Documentation */ ListVirtualServicesResult listVirtualServices(ListVirtualServicesRequest listVirtualServicesRequest); /** *
* Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a
* resource aren't specified in the request parameters, they aren't changed. When a resource is deleted, the tags
* associated with that resource are also deleted.
*
* Deletes specified tags from a resource. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** ** Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh. *
* * @param updateGatewayRouteRequest * @return Result of the UpdateGatewayRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateGatewayRoute * @see AWS API * Documentation */ UpdateGatewayRouteResult updateGatewayRoute(UpdateGatewayRouteRequest updateGatewayRouteRequest); /** ** Updates an existing service mesh. *
* * @param updateMeshRequest * @return Result of the UpdateMesh operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @sample AWSAppMesh.UpdateMesh * @see AWS API * Documentation */ UpdateMeshResult updateMesh(UpdateMeshRequest updateMeshRequest); /** ** Updates an existing route for a specified service mesh and virtual router. *
* * @param updateRouteRequest * @return Result of the UpdateRoute operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateRoute * @see AWS API * Documentation */ UpdateRouteResult updateRoute(UpdateRouteRequest updateRouteRequest); /** ** Updates an existing virtual gateway in a specified service mesh. *
* * @param updateVirtualGatewayRequest * @return Result of the UpdateVirtualGateway operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateVirtualGateway * @see AWS * API Documentation */ UpdateVirtualGatewayResult updateVirtualGateway(UpdateVirtualGatewayRequest updateVirtualGatewayRequest); /** ** Updates an existing virtual node in a specified service mesh. *
* * @param updateVirtualNodeRequest * @return Result of the UpdateVirtualNode operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateVirtualNode * @see AWS API * Documentation */ UpdateVirtualNodeResult updateVirtualNode(UpdateVirtualNodeRequest updateVirtualNodeRequest); /** ** Updates an existing virtual router in a specified service mesh. *
* * @param updateVirtualRouterRequest * @return Result of the UpdateVirtualRouter operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateVirtualRouter * @see AWS * API Documentation */ UpdateVirtualRouterResult updateVirtualRouter(UpdateVirtualRouterRequest updateVirtualRouterRequest); /** ** Updates an existing virtual service in a specified service mesh. *
* * @param updateVirtualServiceRequest * @return Result of the UpdateVirtualService operation returned by the service. * @throws NotFoundException * The specified resource doesn't exist. Check your request syntax and try again. * @throws BadRequestException * The request syntax was malformed. Check your request syntax and try again. * @throws ConflictException * The request contains a client token that was used for a previous update resource call with different * specifications. Try the request again with a new client token. * @throws TooManyRequestsException * The maximum request rate permitted by the App Mesh APIs has been exceeded for your account. For best * results, use an increasing or variable sleep interval between requests. * @throws ForbiddenException * You don't have permissions to perform this action. * @throws ServiceUnavailableException * The request has failed due to a temporary failure of the service. * @throws InternalServerErrorException * The request processing has failed because of an unknown error, exception, or failure. * @throws LimitExceededException * You have exceeded a service limit for your account. For more information, see Service Limits in * the App Mesh User Guide. * @sample AWSAppMesh.UpdateVirtualService * @see AWS * API Documentation */ UpdateVirtualServiceResult updateVirtualService(UpdateVirtualServiceRequest updateVirtualServiceRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. ** Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }