List of usage examples for com.amazonaws.services.ec2 AmazonEC2AsyncClient describeAvailabilityZonesAsync
@Override
public java.util.concurrent.Future<DescribeAvailabilityZonesResult> describeAvailabilityZonesAsync(
final DescribeAvailabilityZonesRequest request,
final com.amazonaws.handlers.AsyncHandler<DescribeAvailabilityZonesRequest, DescribeAvailabilityZonesResult> asyncHandler)
From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSEndpointAdapterService.java
License:Open Source License
private BiConsumer<AuthCredentialsServiceState, BiConsumer<ServiceErrorResponse, Throwable>> validate( EndpointConfigRequest body) {//from w w w . j a va2 s. c om return (credentials, callback) -> { String regionId = body.endpointProperties.get(REGION_KEY); AmazonEC2AsyncClient client = AWSUtils.getAsyncClient(credentials, regionId, this.clientManager.getExecutor(getHost())); // make a call to validate credentials client.describeAvailabilityZonesAsync(new DescribeAvailabilityZonesRequest(), new AsyncHandler<DescribeAvailabilityZonesRequest, DescribeAvailabilityZonesResult>() { @Override public void onError(Exception e) { if (e instanceof AmazonServiceException) { AmazonServiceException ase = (AmazonServiceException) e; if (ase.getStatusCode() == STATUS_CODE_UNAUTHORIZED) { ServiceErrorResponse r = Utils.toServiceErrorResponse(e); r.statusCode = STATUS_CODE_UNAUTHORIZED; callback.accept(r, e); } return; } callback.accept(null, e); } @Override public void onSuccess(DescribeAvailabilityZonesRequest request, DescribeAvailabilityZonesResult describeAvailabilityZonesResult) { callback.accept(null, null); } }); }; }