com.amazonaws.services.appmesh.AWSAppMeshAsyncClient Maven / Gradle / Ivy
/*
* Copyright 2014-2019 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.services.appmesh.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;
import java.util.concurrent.ExecutorService;
/**
* Client for accessing AWS App Mesh asynchronously. Each asynchronous method will return a Java Future object
* representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
*
*
* AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and control containerized
* 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 ECS (using the Amazon EC2 launch type), Amazon EKS, and Kubernetes on AWS.
*
*
*
* App Mesh supports containerized microservice applications that use service discovery naming for their components. To
* use App Mesh, you must have a containerized application running on Amazon EC2 instances, hosted in either Amazon ECS,
* Amazon EKS, or Kubernetes on AWS. For more information about service discovery on Amazon ECS, see Service Discovery in the
* Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns
is supported. For more
* information, see DNS for Services
* and Pods in the Kubernetes documentation.
*
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSAppMeshAsyncClient extends AWSAppMeshClient implements AWSAppMeshAsync {
private static final int DEFAULT_THREAD_POOL_SIZE = 50;
private final java.util.concurrent.ExecutorService executorService;
public static AWSAppMeshAsyncClientBuilder asyncBuilder() {
return AWSAppMeshAsyncClientBuilder.standard();
}
/**
* Constructs a new asynchronous client to invoke service methods on AWS App Mesh using the specified parameters.
*
* @param asyncClientParams
* Object providing client parameters.
*/
AWSAppMeshAsyncClient(AwsAsyncClientParams asyncClientParams) {
super(asyncClientParams);
this.executorService = asyncClientParams.getExecutor();
}
/**
* Returns the executor service used by this client to execute async requests.
*
* @return The executor service used by this client to execute async requests.
*/
public ExecutorService getExecutorService() {
return executorService;
}
@Override
public java.util.concurrent.Future createMeshAsync(CreateMeshRequest request) {
return createMeshAsync(request, null);
}
@Override
public java.util.concurrent.Future createMeshAsync(final CreateMeshRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateMeshRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateMeshResult call() throws Exception {
CreateMeshResult result = null;
try {
result = executeCreateMesh(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future createRouteAsync(CreateRouteRequest request) {
return createRouteAsync(request, null);
}
@Override
public java.util.concurrent.Future createRouteAsync(final CreateRouteRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateRouteRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateRouteResult call() throws Exception {
CreateRouteResult result = null;
try {
result = executeCreateRoute(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future createVirtualNodeAsync(CreateVirtualNodeRequest request) {
return createVirtualNodeAsync(request, null);
}
@Override
public java.util.concurrent.Future createVirtualNodeAsync(final CreateVirtualNodeRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateVirtualNodeRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateVirtualNodeResult call() throws Exception {
CreateVirtualNodeResult result = null;
try {
result = executeCreateVirtualNode(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future createVirtualRouterAsync(CreateVirtualRouterRequest request) {
return createVirtualRouterAsync(request, null);
}
@Override
public java.util.concurrent.Future createVirtualRouterAsync(final CreateVirtualRouterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateVirtualRouterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateVirtualRouterResult call() throws Exception {
CreateVirtualRouterResult result = null;
try {
result = executeCreateVirtualRouter(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future deleteMeshAsync(DeleteMeshRequest request) {
return deleteMeshAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteMeshAsync(final DeleteMeshRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteMeshRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteMeshResult call() throws Exception {
DeleteMeshResult result = null;
try {
result = executeDeleteMesh(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future deleteRouteAsync(DeleteRouteRequest request) {
return deleteRouteAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteRouteAsync(final DeleteRouteRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteRouteRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteRouteResult call() throws Exception {
DeleteRouteResult result = null;
try {
result = executeDeleteRoute(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future deleteVirtualNodeAsync(DeleteVirtualNodeRequest request) {
return deleteVirtualNodeAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteVirtualNodeAsync(final DeleteVirtualNodeRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteVirtualNodeRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteVirtualNodeResult call() throws Exception {
DeleteVirtualNodeResult result = null;
try {
result = executeDeleteVirtualNode(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future deleteVirtualRouterAsync(DeleteVirtualRouterRequest request) {
return deleteVirtualRouterAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteVirtualRouterAsync(final DeleteVirtualRouterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteVirtualRouterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteVirtualRouterResult call() throws Exception {
DeleteVirtualRouterResult result = null;
try {
result = executeDeleteVirtualRouter(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future describeMeshAsync(DescribeMeshRequest request) {
return describeMeshAsync(request, null);
}
@Override
public java.util.concurrent.Future describeMeshAsync(final DescribeMeshRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeMeshRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeMeshResult call() throws Exception {
DescribeMeshResult result = null;
try {
result = executeDescribeMesh(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future describeRouteAsync(DescribeRouteRequest request) {
return describeRouteAsync(request, null);
}
@Override
public java.util.concurrent.Future describeRouteAsync(final DescribeRouteRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeRouteRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeRouteResult call() throws Exception {
DescribeRouteResult result = null;
try {
result = executeDescribeRoute(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future describeVirtualNodeAsync(DescribeVirtualNodeRequest request) {
return describeVirtualNodeAsync(request, null);
}
@Override
public java.util.concurrent.Future describeVirtualNodeAsync(final DescribeVirtualNodeRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeVirtualNodeRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeVirtualNodeResult call() throws Exception {
DescribeVirtualNodeResult result = null;
try {
result = executeDescribeVirtualNode(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future describeVirtualRouterAsync(DescribeVirtualRouterRequest request) {
return describeVirtualRouterAsync(request, null);
}
@Override
public java.util.concurrent.Future describeVirtualRouterAsync(final DescribeVirtualRouterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeVirtualRouterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeVirtualRouterResult call() throws Exception {
DescribeVirtualRouterResult result = null;
try {
result = executeDescribeVirtualRouter(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listMeshesAsync(ListMeshesRequest request) {
return listMeshesAsync(request, null);
}
@Override
public java.util.concurrent.Future listMeshesAsync(final ListMeshesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListMeshesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListMeshesResult call() throws Exception {
ListMeshesResult result = null;
try {
result = executeListMeshes(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listRoutesAsync(ListRoutesRequest request) {
return listRoutesAsync(request, null);
}
@Override
public java.util.concurrent.Future listRoutesAsync(final ListRoutesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListRoutesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListRoutesResult call() throws Exception {
ListRoutesResult result = null;
try {
result = executeListRoutes(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listVirtualNodesAsync(ListVirtualNodesRequest request) {
return listVirtualNodesAsync(request, null);
}
@Override
public java.util.concurrent.Future listVirtualNodesAsync(final ListVirtualNodesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListVirtualNodesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListVirtualNodesResult call() throws Exception {
ListVirtualNodesResult result = null;
try {
result = executeListVirtualNodes(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listVirtualRoutersAsync(ListVirtualRoutersRequest request) {
return listVirtualRoutersAsync(request, null);
}
@Override
public java.util.concurrent.Future listVirtualRoutersAsync(final ListVirtualRoutersRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListVirtualRoutersRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListVirtualRoutersResult call() throws Exception {
ListVirtualRoutersResult result = null;
try {
result = executeListVirtualRouters(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future updateRouteAsync(UpdateRouteRequest request) {
return updateRouteAsync(request, null);
}
@Override
public java.util.concurrent.Future updateRouteAsync(final UpdateRouteRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateRouteRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateRouteResult call() throws Exception {
UpdateRouteResult result = null;
try {
result = executeUpdateRoute(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future updateVirtualNodeAsync(UpdateVirtualNodeRequest request) {
return updateVirtualNodeAsync(request, null);
}
@Override
public java.util.concurrent.Future updateVirtualNodeAsync(final UpdateVirtualNodeRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateVirtualNodeRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateVirtualNodeResult call() throws Exception {
UpdateVirtualNodeResult result = null;
try {
result = executeUpdateVirtualNode(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future updateVirtualRouterAsync(UpdateVirtualRouterRequest request) {
return updateVirtualRouterAsync(request, null);
}
@Override
public java.util.concurrent.Future updateVirtualRouterAsync(final UpdateVirtualRouterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateVirtualRouterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateVirtualRouterResult call() throws Exception {
UpdateVirtualRouterResult result = null;
try {
result = executeUpdateVirtualRouter(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
/**
* Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending
* asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should
* call {@code getExecutorService().shutdown()} followed by {@code getExecutorService().awaitTermination()} prior to
* calling this method.
*/
@Override
public void shutdown() {
super.shutdown();
executorService.shutdownNow();
}
}