Example usage for com.amazonaws.services.ec2 AmazonEC2AsyncClient describeAvailabilityZonesAsync

List of usage examples for com.amazonaws.services.ec2 AmazonEC2AsyncClient describeAvailabilityZonesAsync

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2AsyncClient describeAvailabilityZonesAsync.

Prototype

@Override
    public java.util.concurrent.Future<DescribeAvailabilityZonesResult> describeAvailabilityZonesAsync(
            final DescribeAvailabilityZonesRequest request,
            final com.amazonaws.handlers.AsyncHandler<DescribeAvailabilityZonesRequest, DescribeAvailabilityZonesResult> asyncHandler) 

Source Link

Usage

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);
                    }
                });
    };
}