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

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

Introduction

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

Prototype

@Deprecated
public AmazonEC2AsyncClient(AWSCredentialsProvider awsCredentialsProvider,
        ClientConfiguration clientConfiguration, ExecutorService executorService) 

Source Link

Document

Constructs a new asynchronous client to invoke service methods on Amazon EC2 using the specified AWS account credentials provider, executor service, and client configuration options.

Usage

From source file:com.dtolabs.rundeck.plugin.resources.ec2.InstanceToNodeMapper.java

License:Apache License

/**
 * Perform the query asynchronously and return the set of instances
 *
 *//* w w w.  ja  v  a2 s  .  co  m*/
public Future<INodeSet> performQueryAsync() {

    final AmazonEC2AsyncClient ec2;
    if (null != credentials) {
        ec2 = new AmazonEC2AsyncClient(credentials, clientConfiguration, executorService);
    } else {
        ec2 = new AmazonEC2AsyncClient(new DefaultAWSCredentialsProviderChain(), clientConfiguration,
                executorService);
    }
    if (null != getEndpoint()) {
        ec2.setEndpoint(getEndpoint());
    }
    final ArrayList<Filter> filters = buildFilters();

    final Future<DescribeInstancesResult> describeInstancesRequest = ec2
            .describeInstancesAsync(new DescribeInstancesRequest().withFilters(filters));

    return new Future<INodeSet>() {

        public boolean cancel(boolean b) {
            return describeInstancesRequest.cancel(b);
        }

        public boolean isCancelled() {
            return describeInstancesRequest.isCancelled();
        }

        public boolean isDone() {
            return describeInstancesRequest.isDone();
        }

        public INodeSet get() throws InterruptedException, ExecutionException {
            DescribeInstancesResult describeInstancesResult = describeInstancesRequest.get();

            final NodeSetImpl nodeSet = new NodeSetImpl();
            final Set<Instance> instances = examineResult(describeInstancesResult);

            mapInstances(nodeSet, instances);
            return nodeSet;
        }

        public INodeSet get(final long l, final TimeUnit timeUnit)
                throws InterruptedException, ExecutionException, TimeoutException {
            DescribeInstancesResult describeInstancesResult = describeInstancesRequest.get(l, timeUnit);

            final NodeSetImpl nodeSet = new NodeSetImpl();
            final Set<Instance> instances = examineResult(describeInstancesResult);

            mapInstances(nodeSet, instances);
            return nodeSet;
        }
    };
}