All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.AmazonEC2AsyncClient Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 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.ec2;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

import com.amazonaws.services.ec2.model.*;

/**
 * Asynchronous client for accessing AmazonEC2.
 * All asynchronous calls made using this client are non-blocking. Callers could either
 * process the result and handle the exceptions in the worker thread by providing a callback handler
 * when making the call, or use the returned Future object to check the result of the call in the calling thread.
 * Amazon Elastic Compute Cloud 

* Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing * capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 * eliminates your need to invest in hardware up front, so you can * develop and deploy applications faster. *

*/ public class AmazonEC2AsyncClient extends AmazonEC2Client implements AmazonEC2Async { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 50; /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AmazonEC2AsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonEC2 * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonEC2AsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonEC2AsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonEC2AsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials, * executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonEC2AsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials provider. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AmazonEC2AsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials provider * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonEC2AsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials * provider and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). */ public AmazonEC2AsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonEC2 using the specified AWS account credentials * provider, executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonEC2AsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * 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 getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* Requests a reboot of one or more instances. This operation is * asynchronous; it only queues a request to reboot the specified * instances. The operation succeeds if the instances are valid and * belong to you. Requests to reboot terminated instances are ignored. *

*

* If a Linux/Unix instance does not cleanly shut down within four * minutes, Amazon EC2 performs a hard reboot. *

* * @param rebootInstancesRequest Container for the necessary parameters * to execute the RebootInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * RebootInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future rebootInstancesAsync(final RebootInstancesRequest rebootInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { rebootInstances(rebootInstancesRequest); return null; } }); } /** *

* Requests a reboot of one or more instances. This operation is * asynchronous; it only queues a request to reboot the specified * instances. The operation succeeds if the instances are valid and * belong to you. Requests to reboot terminated instances are ignored. *

*

* If a Linux/Unix instance does not cleanly shut down within four * minutes, Amazon EC2 performs a hard reboot. *

* * @param rebootInstancesRequest Container for the necessary parameters * to execute the RebootInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RebootInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future rebootInstancesAsync( final RebootInstancesRequest rebootInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { rebootInstances(rebootInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(rebootInstancesRequest, null); return null; } }); } /** *

* Describes one or more of the Reserved Instances that you purchased. *

*

* For more information about Reserved Instances, see * Reserved Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesRequest Container for the necessary * parameters to execute the DescribeReservedInstances operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeReservedInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesAsync(final DescribeReservedInstancesRequest describeReservedInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesResult call() throws Exception { return describeReservedInstances(describeReservedInstancesRequest); } }); } /** *

* Describes one or more of the Reserved Instances that you purchased. *

*

* For more information about Reserved Instances, see * Reserved Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesRequest Container for the necessary * parameters to execute the DescribeReservedInstances operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeReservedInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesAsync( final DescribeReservedInstancesRequest describeReservedInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesResult call() throws Exception { DescribeReservedInstancesResult result; try { result = describeReservedInstances(describeReservedInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeReservedInstancesRequest, result); return result; } }); } /** *

* Describes one or more of the Availability Zones that are available to * you. The results include zones only for the region you're currently * using. If there is an event impacting an Availability Zone, you can * use this request to view the state and any provided message for that * Availability Zone. *

*

* For more information, see * Regions and Availability Zones * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeAvailabilityZonesRequest Container for the necessary * parameters to execute the DescribeAvailabilityZones operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeAvailabilityZones service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAvailabilityZonesAsync(final DescribeAvailabilityZonesRequest describeAvailabilityZonesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAvailabilityZonesResult call() throws Exception { return describeAvailabilityZones(describeAvailabilityZonesRequest); } }); } /** *

* Describes one or more of the Availability Zones that are available to * you. The results include zones only for the region you're currently * using. If there is an event impacting an Availability Zone, you can * use this request to view the state and any provided message for that * Availability Zone. *

*

* For more information, see * Regions and Availability Zones * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeAvailabilityZonesRequest Container for the necessary * parameters to execute the DescribeAvailabilityZones operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeAvailabilityZones service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAvailabilityZonesAsync( final DescribeAvailabilityZonesRequest describeAvailabilityZonesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAvailabilityZonesResult call() throws Exception { DescribeAvailabilityZonesResult result; try { result = describeAvailabilityZones(describeAvailabilityZonesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAvailabilityZonesRequest, result); return result; } }); } /** *

* Detaches an Amazon EBS volume from an instance. Make sure to unmount * any file systems on the device within your operating system before * detaching the volume. Failure to do so results in the volume being * stuck in a busy state while detaching. *

*

* If an Amazon EBS volume is the root device of an instance, it can't be * detached while the instance is running. To detach the root volume, * stop the instance first. *

*

* If the root volume is detached from an instance with an AWS * Marketplace product code, then the AWS Marketplace product codes from * that volume are no longer associated with the instance. *

*

* For more information, see * Detaching an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param detachVolumeRequest Container for the necessary parameters to * execute the DetachVolume operation on AmazonEC2. * * @return A Java Future object containing the response from the * DetachVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachVolumeAsync(final DetachVolumeRequest detachVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DetachVolumeResult call() throws Exception { return detachVolume(detachVolumeRequest); } }); } /** *

* Detaches an Amazon EBS volume from an instance. Make sure to unmount * any file systems on the device within your operating system before * detaching the volume. Failure to do so results in the volume being * stuck in a busy state while detaching. *

*

* If an Amazon EBS volume is the root device of an instance, it can't be * detached while the instance is running. To detach the root volume, * stop the instance first. *

*

* If the root volume is detached from an instance with an AWS * Marketplace product code, then the AWS Marketplace product codes from * that volume are no longer associated with the instance. *

*

* For more information, see * Detaching an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param detachVolumeRequest Container for the necessary parameters to * execute the DetachVolume operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DetachVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachVolumeAsync( final DetachVolumeRequest detachVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DetachVolumeResult call() throws Exception { DetachVolumeResult result; try { result = detachVolume(detachVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachVolumeRequest, result); return result; } }); } /** *

* Deletes the specified key pair, by removing the public key from Amazon * EC2. *

* * @param deleteKeyPairRequest Container for the necessary parameters to * execute the DeleteKeyPair operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteKeyPairAsync(final DeleteKeyPairRequest deleteKeyPairRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteKeyPair(deleteKeyPairRequest); return null; } }); } /** *

* Deletes the specified key pair, by removing the public key from Amazon * EC2. *

* * @param deleteKeyPairRequest Container for the necessary parameters to * execute the DeleteKeyPair operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteKeyPairAsync( final DeleteKeyPairRequest deleteKeyPairRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteKeyPair(deleteKeyPairRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteKeyPairRequest, null); return null; } }); } /** *

* Disables monitoring for a running instance. For more information about * monitoring instances, see * Monitoring Your Instances and Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param unmonitorInstancesRequest Container for the necessary * parameters to execute the UnmonitorInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * UnmonitorInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future unmonitorInstancesAsync(final UnmonitorInstancesRequest unmonitorInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UnmonitorInstancesResult call() throws Exception { return unmonitorInstances(unmonitorInstancesRequest); } }); } /** *

* Disables monitoring for a running instance. For more information about * monitoring instances, see * Monitoring Your Instances and Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param unmonitorInstancesRequest Container for the necessary * parameters to execute the UnmonitorInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UnmonitorInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future unmonitorInstancesAsync( final UnmonitorInstancesRequest unmonitorInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UnmonitorInstancesResult call() throws Exception { UnmonitorInstancesResult result; try { result = unmonitorInstances(unmonitorInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(unmonitorInstancesRequest, result); return result; } }); } /** *

* Attaches a virtual private gateway to a VPC. For more information, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param attachVpnGatewayRequest Container for the necessary parameters * to execute the AttachVpnGateway operation on AmazonEC2. * * @return A Java Future object containing the response from the * AttachVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachVpnGatewayAsync(final AttachVpnGatewayRequest attachVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachVpnGatewayResult call() throws Exception { return attachVpnGateway(attachVpnGatewayRequest); } }); } /** *

* Attaches a virtual private gateway to a VPC. For more information, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param attachVpnGatewayRequest Container for the necessary parameters * to execute the AttachVpnGateway operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AttachVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachVpnGatewayAsync( final AttachVpnGatewayRequest attachVpnGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachVpnGatewayResult call() throws Exception { AttachVpnGatewayResult result; try { result = attachVpnGateway(attachVpnGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachVpnGatewayRequest, result); return result; } }); } /** *

* Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance * that is either running or stopped. *

*

* If you customized your instance with instance store volumes or EBS * volumes in addition to the root device volume, the new AMI contains * block device mapping information for those volumes. When you launch an * instance from this new AMI, the instance automatically launches with * those additional volumes. *

*

* For more information, see * Creating Amazon EBS-Backed Linux AMIs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createImageRequest Container for the necessary parameters to * execute the CreateImage operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createImageAsync(final CreateImageRequest createImageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateImageResult call() throws Exception { return createImage(createImageRequest); } }); } /** *

* Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance * that is either running or stopped. *

*

* If you customized your instance with instance store volumes or EBS * volumes in addition to the root device volume, the new AMI contains * block device mapping information for those volumes. When you launch an * instance from this new AMI, the instance automatically launches with * those additional volumes. *

*

* For more information, see * Creating Amazon EBS-Backed Linux AMIs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createImageRequest Container for the necessary parameters to * execute the CreateImage operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createImageAsync( final CreateImageRequest createImageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateImageResult call() throws Exception { CreateImageResult result; try { result = createImage(createImageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createImageRequest, result); return result; } }); } /** *

* Deletes a security group. *

*

* If you attempt to delete a security group that is associated with an * instance, or is referenced by another security group, the operation * fails with InvalidGroup.InUse in EC2-Classic or * DependencyViolation in EC2-VPC. *

* * @param deleteSecurityGroupRequest Container for the necessary * parameters to execute the DeleteSecurityGroup operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteSecurityGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSecurityGroupAsync(final DeleteSecurityGroupRequest deleteSecurityGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSecurityGroup(deleteSecurityGroupRequest); return null; } }); } /** *

* Deletes a security group. *

*

* If you attempt to delete a security group that is associated with an * instance, or is referenced by another security group, the operation * fails with InvalidGroup.InUse in EC2-Classic or * DependencyViolation in EC2-VPC. *

* * @param deleteSecurityGroupRequest Container for the necessary * parameters to execute the DeleteSecurityGroup operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSecurityGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSecurityGroupAsync( final DeleteSecurityGroupRequest deleteSecurityGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSecurityGroup(deleteSecurityGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSecurityGroupRequest, null); return null; } }); } /** *

* Exports a running or stopped instance to an Amazon S3 bucket. *

*

* For information about the supported operating systems, image formats, * and known limitations for the types of instances you can export, see * Exporting EC2 Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createInstanceExportTaskRequest Container for the necessary * parameters to execute the CreateInstanceExportTask operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateInstanceExportTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createInstanceExportTaskAsync(final CreateInstanceExportTaskRequest createInstanceExportTaskRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInstanceExportTaskResult call() throws Exception { return createInstanceExportTask(createInstanceExportTaskRequest); } }); } /** *

* Exports a running or stopped instance to an Amazon S3 bucket. *

*

* For information about the supported operating systems, image formats, * and known limitations for the types of instances you can export, see * Exporting EC2 Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createInstanceExportTaskRequest Container for the necessary * parameters to execute the CreateInstanceExportTask operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateInstanceExportTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createInstanceExportTaskAsync( final CreateInstanceExportTaskRequest createInstanceExportTaskRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInstanceExportTaskResult call() throws Exception { CreateInstanceExportTaskResult result; try { result = createInstanceExportTask(createInstanceExportTaskRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createInstanceExportTaskRequest, result); return result; } }); } /** *

* Retrieves the encrypted administrator password for an instance running * Windows. *

*

* The Windows password is only generated the first time an AMI is * launched. It is not generated for rebundled AMIs or after the password * is changed on an instance. *

*

* The password is encrypted using the key pair that you specified when * you launched the instance. You must provide the corresponding key pair * file. *

*

* Password generation and encryption takes a few moments. We recommend * that you wait up to 15 minutes after launching an instance before * trying to retrieve the generated password. *

* * @param getPasswordDataRequest Container for the necessary parameters * to execute the GetPasswordData operation on AmazonEC2. * * @return A Java Future object containing the response from the * GetPasswordData service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future getPasswordDataAsync(final GetPasswordDataRequest getPasswordDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetPasswordDataResult call() throws Exception { return getPasswordData(getPasswordDataRequest); } }); } /** *

* Retrieves the encrypted administrator password for an instance running * Windows. *

*

* The Windows password is only generated the first time an AMI is * launched. It is not generated for rebundled AMIs or after the password * is changed on an instance. *

*

* The password is encrypted using the key pair that you specified when * you launched the instance. You must provide the corresponding key pair * file. *

*

* Password generation and encryption takes a few moments. We recommend * that you wait up to 15 minutes after launching an instance before * trying to retrieve the generated password. *

* * @param getPasswordDataRequest Container for the necessary parameters * to execute the GetPasswordData operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetPasswordData service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future getPasswordDataAsync( final GetPasswordDataRequest getPasswordDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetPasswordDataResult call() throws Exception { GetPasswordDataResult result; try { result = getPasswordData(getPasswordDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getPasswordDataRequest, result); return result; } }); } /** *

* Associates a set of DHCP options (that you've previously created) with * the specified VPC, or associates no DHCP options with the VPC. *

*

* After you associate the options with the VPC, any existing instances * and all new instances that you launch in that VPC use the options. You * don't need to restart or relaunch the instances. They automatically * pick up the changes within a few hours, depending on how frequently * the instance renews its DHCP lease. You can explicitly renew the lease * using the operating system on the instance. *

*

* For more information, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param associateDhcpOptionsRequest Container for the necessary * parameters to execute the AssociateDhcpOptions operation on AmazonEC2. * * @return A Java Future object containing the response from the * AssociateDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateDhcpOptionsAsync(final AssociateDhcpOptionsRequest associateDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { associateDhcpOptions(associateDhcpOptionsRequest); return null; } }); } /** *

* Associates a set of DHCP options (that you've previously created) with * the specified VPC, or associates no DHCP options with the VPC. *

*

* After you associate the options with the VPC, any existing instances * and all new instances that you launch in that VPC use the options. You * don't need to restart or relaunch the instances. They automatically * pick up the changes within a few hours, depending on how frequently * the instance renews its DHCP lease. You can explicitly renew the lease * using the operating system on the instance. *

*

* For more information, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param associateDhcpOptionsRequest Container for the necessary * parameters to execute the AssociateDhcpOptions operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AssociateDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateDhcpOptionsAsync( final AssociateDhcpOptionsRequest associateDhcpOptionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { associateDhcpOptions(associateDhcpOptionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(associateDhcpOptionsRequest, null); return null; } }); } /** *

* Adds one or more egress rules to a security group for use with a VPC. * Specifically, this action permits instances to send traffic to one or * more CIDR IP address ranges, or to one or more security groups for the * same VPC. *

*

* IMPORTANT: You can have up to 50 rules per security group * (covering both ingress and egress rules). *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. This action doesn't apply to security * groups for use in EC2-Classic. For more information, see * Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

*

* Each rule consists of the protocol (for example, TCP), plus either a * CIDR range or a source group. For the TCP and UDP protocols, you must * also specify the destination port or port range. For the ICMP * protocol, you must also specify the ICMP type and code. You can use -1 * for the type or code to mean all types or all codes. *

*

* Rule changes are propagated to affected instances as quickly as * possible. However, a small delay might occur. *

* * @param authorizeSecurityGroupEgressRequest Container for the necessary * parameters to execute the AuthorizeSecurityGroupEgress operation on * AmazonEC2. * * @return A Java Future object containing the response from the * AuthorizeSecurityGroupEgress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future authorizeSecurityGroupEgressAsync(final AuthorizeSecurityGroupEgressRequest authorizeSecurityGroupEgressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { authorizeSecurityGroupEgress(authorizeSecurityGroupEgressRequest); return null; } }); } /** *

* Adds one or more egress rules to a security group for use with a VPC. * Specifically, this action permits instances to send traffic to one or * more CIDR IP address ranges, or to one or more security groups for the * same VPC. *

*

* IMPORTANT: You can have up to 50 rules per security group * (covering both ingress and egress rules). *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. This action doesn't apply to security * groups for use in EC2-Classic. For more information, see * Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

*

* Each rule consists of the protocol (for example, TCP), plus either a * CIDR range or a source group. For the TCP and UDP protocols, you must * also specify the destination port or port range. For the ICMP * protocol, you must also specify the ICMP type and code. You can use -1 * for the type or code to mean all types or all codes. *

*

* Rule changes are propagated to affected instances as quickly as * possible. However, a small delay might occur. *

* * @param authorizeSecurityGroupEgressRequest Container for the necessary * parameters to execute the AuthorizeSecurityGroupEgress operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AuthorizeSecurityGroupEgress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future authorizeSecurityGroupEgressAsync( final AuthorizeSecurityGroupEgressRequest authorizeSecurityGroupEgressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { authorizeSecurityGroupEgress(authorizeSecurityGroupEgressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(authorizeSecurityGroupEgressRequest, null); return null; } }); } /** *

* Stops an Amazon EBS-backed instance. Each time you transition an * instance from stopped to started, Amazon EC2 charges a full instance * hour, even if transitions happen multiple times within a single hour. *

*

* You can't start or stop Spot Instances. *

*

* Instances that use Amazon EBS volumes as their root devices can be * quickly stopped and started. When an instance is stopped, the compute * resources are released and you are not billed for hourly instance * usage. However, your root partition Amazon EBS volume remains, * continues to persist your data, and you are charged for Amazon EBS * volume usage. You can restart your instance at any time. *

*

* Before stopping an instance, make sure it is in a state from which it * can be restarted. Stopping an instance does not preserve data stored * in RAM. *

*

* Performing this operation on an instance that uses an instance store * as its root device returns an error. *

*

* You can stop, start, and terminate EBS-backed instances. You can only * terminate instance store-backed instances. What happens to an instance * differs if you stop it or terminate it. For example, when you stop an * instance, the root device and any other devices attached to the * instance persist. When you terminate an instance, the root device and * any other devices attached during the instance launch are * automatically deleted. For more information about the differences * between stopping and terminating instances, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

* * @param stopInstancesRequest Container for the necessary parameters to * execute the StopInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * StopInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future stopInstancesAsync(final StopInstancesRequest stopInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StopInstancesResult call() throws Exception { return stopInstances(stopInstancesRequest); } }); } /** *

* Stops an Amazon EBS-backed instance. Each time you transition an * instance from stopped to started, Amazon EC2 charges a full instance * hour, even if transitions happen multiple times within a single hour. *

*

* You can't start or stop Spot Instances. *

*

* Instances that use Amazon EBS volumes as their root devices can be * quickly stopped and started. When an instance is stopped, the compute * resources are released and you are not billed for hourly instance * usage. However, your root partition Amazon EBS volume remains, * continues to persist your data, and you are charged for Amazon EBS * volume usage. You can restart your instance at any time. *

*

* Before stopping an instance, make sure it is in a state from which it * can be restarted. Stopping an instance does not preserve data stored * in RAM. *

*

* Performing this operation on an instance that uses an instance store * as its root device returns an error. *

*

* You can stop, start, and terminate EBS-backed instances. You can only * terminate instance store-backed instances. What happens to an instance * differs if you stop it or terminate it. For example, when you stop an * instance, the root device and any other devices attached to the * instance persist. When you terminate an instance, the root device and * any other devices attached during the instance launch are * automatically deleted. For more information about the differences * between stopping and terminating instances, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

* * @param stopInstancesRequest Container for the necessary parameters to * execute the StopInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * StopInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future stopInstancesAsync( final StopInstancesRequest stopInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StopInstancesResult call() throws Exception { StopInstancesResult result; try { result = stopInstances(stopInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(stopInstancesRequest, result); return result; } }); } /** *

* Imports the public key from an RSA key pair that you created with a * third-party tool. Compare this with CreateKeyPair, in which AWS * creates the key pair and gives the keys to you (AWS keeps a copy of * the public key). With ImportKeyPair, you create the key pair and give * AWS just the public key. The private key is never transferred between * you and AWS. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param importKeyPairRequest Container for the necessary parameters to * execute the ImportKeyPair operation on AmazonEC2. * * @return A Java Future object containing the response from the * ImportKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importKeyPairAsync(final ImportKeyPairRequest importKeyPairRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportKeyPairResult call() throws Exception { return importKeyPair(importKeyPairRequest); } }); } /** *

* Imports the public key from an RSA key pair that you created with a * third-party tool. Compare this with CreateKeyPair, in which AWS * creates the key pair and gives the keys to you (AWS keeps a copy of * the public key). With ImportKeyPair, you create the key pair and give * AWS just the public key. The private key is never transferred between * you and AWS. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param importKeyPairRequest Container for the necessary parameters to * execute the ImportKeyPair operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ImportKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importKeyPairAsync( final ImportKeyPairRequest importKeyPairRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportKeyPairResult call() throws Exception { ImportKeyPairResult result; try { result = importKeyPair(importKeyPairRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importKeyPairRequest, result); return result; } }); } /** *

* Deletes the specified network interface. You must detach the network * interface before you can delete it. *

* * @param deleteNetworkInterfaceRequest Container for the necessary * parameters to execute the DeleteNetworkInterface operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkInterfaceAsync(final DeleteNetworkInterfaceRequest deleteNetworkInterfaceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteNetworkInterface(deleteNetworkInterfaceRequest); return null; } }); } /** *

* Deletes the specified network interface. You must detach the network * interface before you can delete it. *

* * @param deleteNetworkInterfaceRequest Container for the necessary * parameters to execute the DeleteNetworkInterface operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkInterfaceAsync( final DeleteNetworkInterfaceRequest deleteNetworkInterfaceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteNetworkInterface(deleteNetworkInterfaceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteNetworkInterfaceRequest, null); return null; } }); } /** *

* Modifies the specified attribute of the specified VPC. *

* * @param modifyVpcAttributeRequest Container for the necessary * parameters to execute the ModifyVpcAttribute operation on AmazonEC2. * * @return A Java Future object containing the response from the * ModifyVpcAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyVpcAttributeAsync(final ModifyVpcAttributeRequest modifyVpcAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifyVpcAttribute(modifyVpcAttributeRequest); return null; } }); } /** *

* Modifies the specified attribute of the specified VPC. *

* * @param modifyVpcAttributeRequest Container for the necessary * parameters to execute the ModifyVpcAttribute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyVpcAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyVpcAttributeAsync( final ModifyVpcAttributeRequest modifyVpcAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyVpcAttribute(modifyVpcAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyVpcAttributeRequest, null); return null; } }); } /** *

* Creates a security group. *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. For more information, see * Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

*

* IMPORTANT: EC2-Classic: You can have up to 500 security groups. * EC2-VPC: You can create up to 100 security groups per VPC. *

*

* When you create a security group, you specify a friendly name of your * choice. You can have a security group for use in EC2-Classic with the * same name as a security group for use in a VPC. However, you can't * have two security groups for use in EC2-Classic with the same name or * two security groups for use in a VPC with the same name. *

*

* You have a default security group for use in EC2-Classic and a default * security group for use in your VPC. If you don't specify a security * group when you launch an instance, the instance is launched into the * appropriate default security group. A default security group includes * a default rule that grants instances unrestricted network access to * each other. *

*

* You can add or remove rules from your security groups using * AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, * RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. *

* * @param createSecurityGroupRequest Container for the necessary * parameters to execute the CreateSecurityGroup operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateSecurityGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSecurityGroupAsync(final CreateSecurityGroupRequest createSecurityGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSecurityGroupResult call() throws Exception { return createSecurityGroup(createSecurityGroupRequest); } }); } /** *

* Creates a security group. *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. For more information, see * Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

*

* IMPORTANT: EC2-Classic: You can have up to 500 security groups. * EC2-VPC: You can create up to 100 security groups per VPC. *

*

* When you create a security group, you specify a friendly name of your * choice. You can have a security group for use in EC2-Classic with the * same name as a security group for use in a VPC. However, you can't * have two security groups for use in EC2-Classic with the same name or * two security groups for use in a VPC with the same name. *

*

* You have a default security group for use in EC2-Classic and a default * security group for use in your VPC. If you don't specify a security * group when you launch an instance, the instance is launched into the * appropriate default security group. A default security group includes * a default rule that grants instances unrestricted network access to * each other. *

*

* You can add or remove rules from your security groups using * AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, * RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. *

* * @param createSecurityGroupRequest Container for the necessary * parameters to execute the CreateSecurityGroup operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSecurityGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSecurityGroupAsync( final CreateSecurityGroupRequest createSecurityGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSecurityGroupResult call() throws Exception { CreateSecurityGroupResult result; try { result = createSecurityGroup(createSecurityGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSecurityGroupRequest, result); return result; } }); } /** *

* Describes the Spot Price history. Spot Instances are instances that * Amazon EC2 starts on your behalf when the maximum price that you * specify exceeds the current Spot Price. Amazon EC2 periodically sets * the Spot Price based on available Spot Instance capacity and current * Spot Instance requests. For more information about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* When you specify an Availability Zone, this operation describes the * price history for the specified Availability Zone with the most recent * set of prices listed first. If you don't specify an Availability Zone, * you get the prices across all Availability Zones, starting with the * most recent set. However, if you're using an API version earlier than * 2011-05-15, you get the lowest price across the region for the * specified time period. The prices returned are listed in chronological * order, from the oldest to the most recent. *

* * @param describeSpotPriceHistoryRequest Container for the necessary * parameters to execute the DescribeSpotPriceHistory operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSpotPriceHistory service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotPriceHistoryAsync(final DescribeSpotPriceHistoryRequest describeSpotPriceHistoryRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotPriceHistoryResult call() throws Exception { return describeSpotPriceHistory(describeSpotPriceHistoryRequest); } }); } /** *

* Describes the Spot Price history. Spot Instances are instances that * Amazon EC2 starts on your behalf when the maximum price that you * specify exceeds the current Spot Price. Amazon EC2 periodically sets * the Spot Price based on available Spot Instance capacity and current * Spot Instance requests. For more information about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* When you specify an Availability Zone, this operation describes the * price history for the specified Availability Zone with the most recent * set of prices listed first. If you don't specify an Availability Zone, * you get the prices across all Availability Zones, starting with the * most recent set. However, if you're using an API version earlier than * 2011-05-15, you get the lowest price across the region for the * specified time period. The prices returned are listed in chronological * order, from the oldest to the most recent. *

* * @param describeSpotPriceHistoryRequest Container for the necessary * parameters to execute the DescribeSpotPriceHistory operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSpotPriceHistory service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotPriceHistoryAsync( final DescribeSpotPriceHistoryRequest describeSpotPriceHistoryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotPriceHistoryResult call() throws Exception { DescribeSpotPriceHistoryResult result; try { result = describeSpotPriceHistory(describeSpotPriceHistoryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotPriceHistoryRequest, result); return result; } }); } /** *

* Describes one or more of your network interfaces. *

* * @param describeNetworkInterfacesRequest Container for the necessary * parameters to execute the DescribeNetworkInterfaces operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeNetworkInterfaces service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkInterfacesAsync(final DescribeNetworkInterfacesRequest describeNetworkInterfacesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkInterfacesResult call() throws Exception { return describeNetworkInterfaces(describeNetworkInterfacesRequest); } }); } /** *

* Describes one or more of your network interfaces. *

* * @param describeNetworkInterfacesRequest Container for the necessary * parameters to execute the DescribeNetworkInterfaces operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeNetworkInterfaces service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkInterfacesAsync( final DescribeNetworkInterfacesRequest describeNetworkInterfacesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkInterfacesResult call() throws Exception { DescribeNetworkInterfacesResult result; try { result = describeNetworkInterfaces(describeNetworkInterfacesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeNetworkInterfacesRequest, result); return result; } }); } /** *

* Describes one or more regions that are currently available to you. *

*

* For a list of the regions supported by Amazon EC2, see * Regions and Endpoints * . *

* * @param describeRegionsRequest Container for the necessary parameters * to execute the DescribeRegions operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeRegions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeRegionsAsync(final DescribeRegionsRequest describeRegionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeRegionsResult call() throws Exception { return describeRegions(describeRegionsRequest); } }); } /** *

* Describes one or more regions that are currently available to you. *

*

* For a list of the regions supported by Amazon EC2, see * Regions and Endpoints * . *

* * @param describeRegionsRequest Container for the necessary parameters * to execute the DescribeRegions operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeRegions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeRegionsAsync( final DescribeRegionsRequest describeRegionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeRegionsResult call() throws Exception { DescribeRegionsResult result; try { result = describeRegions(describeRegionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeRegionsRequest, result); return result; } }); } /** *

* Creates a listing for Amazon EC2 Reserved Instances to be sold in the * Reserved Instance Marketplace. You can submit one Reserved Instance * listing at a time. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createReservedInstancesListingRequest Container for the * necessary parameters to execute the CreateReservedInstancesListing * operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateReservedInstancesListing service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createReservedInstancesListingAsync(final CreateReservedInstancesListingRequest createReservedInstancesListingRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateReservedInstancesListingResult call() throws Exception { return createReservedInstancesListing(createReservedInstancesListingRequest); } }); } /** *

* Creates a listing for Amazon EC2 Reserved Instances to be sold in the * Reserved Instance Marketplace. You can submit one Reserved Instance * listing at a time. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createReservedInstancesListingRequest Container for the * necessary parameters to execute the CreateReservedInstancesListing * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateReservedInstancesListing service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createReservedInstancesListingAsync( final CreateReservedInstancesListingRequest createReservedInstancesListingRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateReservedInstancesListingResult call() throws Exception { CreateReservedInstancesListingResult result; try { result = createReservedInstancesListing(createReservedInstancesListingRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createReservedInstancesListingRequest, result); return result; } }); } /** *

* Creates a set of DHCP options for your VPC. After creating the set, * you must associate it with the VPC, causing all existing and new * instances that you launch in the VPC to use this set of DHCP options. * The following are the individual DHCP options you can specify. For * more information about the options, see * RFC 2132 * . *

*

* For more information about DHCP options, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createDhcpOptionsRequest Container for the necessary parameters * to execute the CreateDhcpOptions operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createDhcpOptionsAsync(final CreateDhcpOptionsRequest createDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateDhcpOptionsResult call() throws Exception { return createDhcpOptions(createDhcpOptionsRequest); } }); } /** *

* Creates a set of DHCP options for your VPC. After creating the set, * you must associate it with the VPC, causing all existing and new * instances that you launch in the VPC to use this set of DHCP options. * The following are the individual DHCP options you can specify. For * more information about the options, see * RFC 2132 * . *

*

* For more information about DHCP options, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createDhcpOptionsRequest Container for the necessary parameters * to execute the CreateDhcpOptions operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createDhcpOptionsAsync( final CreateDhcpOptionsRequest createDhcpOptionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateDhcpOptionsResult call() throws Exception { CreateDhcpOptionsResult result; try { result = createDhcpOptions(createDhcpOptionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createDhcpOptionsRequest, result); return result; } }); } /** *

* Resets permission settings for the specified snapshot. *

*

* For more information on modifying snapshot permissions, see * Sharing Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param resetSnapshotAttributeRequest Container for the necessary * parameters to execute the ResetSnapshotAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ResetSnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetSnapshotAttributeAsync(final ResetSnapshotAttributeRequest resetSnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resetSnapshotAttribute(resetSnapshotAttributeRequest); return null; } }); } /** *

* Resets permission settings for the specified snapshot. *

*

* For more information on modifying snapshot permissions, see * Sharing Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param resetSnapshotAttributeRequest Container for the necessary * parameters to execute the ResetSnapshotAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResetSnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetSnapshotAttributeAsync( final ResetSnapshotAttributeRequest resetSnapshotAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resetSnapshotAttribute(resetSnapshotAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resetSnapshotAttributeRequest, null); return null; } }); } /** *

* Deletes the specified route from the specified route table. *

* * @param deleteRouteRequest Container for the necessary parameters to * execute the DeleteRoute operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRouteAsync(final DeleteRouteRequest deleteRouteRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteRoute(deleteRouteRequest); return null; } }); } /** *

* Deletes the specified route from the specified route table. *

* * @param deleteRouteRequest Container for the necessary parameters to * execute the DeleteRoute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRouteAsync( final DeleteRouteRequest deleteRouteRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteRoute(deleteRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteRouteRequest, null); return null; } }); } /** *

* Describes one or more of your Internet gateways. *

* * @param describeInternetGatewaysRequest Container for the necessary * parameters to execute the DescribeInternetGateways operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeInternetGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInternetGatewaysAsync(final DescribeInternetGatewaysRequest describeInternetGatewaysRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInternetGatewaysResult call() throws Exception { return describeInternetGateways(describeInternetGatewaysRequest); } }); } /** *

* Describes one or more of your Internet gateways. *

* * @param describeInternetGatewaysRequest Container for the necessary * parameters to execute the DescribeInternetGateways operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeInternetGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInternetGatewaysAsync( final DescribeInternetGatewaysRequest describeInternetGatewaysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInternetGatewaysResult call() throws Exception { DescribeInternetGatewaysResult result; try { result = describeInternetGateways(describeInternetGatewaysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeInternetGatewaysRequest, result); return result; } }); } /** *

* Creates an import volume task using metadata from the specified disk * image. After importing the image, you then upload it using the * ec2-upload-disk-image command in the Amazon EC2 command-line interface * (CLI) tools. For more information, see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param importVolumeRequest Container for the necessary parameters to * execute the ImportVolume operation on AmazonEC2. * * @return A Java Future object containing the response from the * ImportVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importVolumeAsync(final ImportVolumeRequest importVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportVolumeResult call() throws Exception { return importVolume(importVolumeRequest); } }); } /** *

* Creates an import volume task using metadata from the specified disk * image. After importing the image, you then upload it using the * ec2-upload-disk-image command in the Amazon EC2 command-line interface * (CLI) tools. For more information, see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param importVolumeRequest Container for the necessary parameters to * execute the ImportVolume operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ImportVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importVolumeAsync( final ImportVolumeRequest importVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportVolumeResult call() throws Exception { ImportVolumeResult result; try { result = importVolume(importVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importVolumeRequest, result); return result; } }); } /** *

* Describes one or more of your security groups. *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. For more information, see * Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeSecurityGroupsRequest Container for the necessary * parameters to execute the DescribeSecurityGroups operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSecurityGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSecurityGroupsAsync(final DescribeSecurityGroupsRequest describeSecurityGroupsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSecurityGroupsResult call() throws Exception { return describeSecurityGroups(describeSecurityGroupsRequest); } }); } /** *

* Describes one or more of your security groups. *

*

* A security group is for use with instances either in the EC2-Classic * platform or in a specific VPC. For more information, see * Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeSecurityGroupsRequest Container for the necessary * parameters to execute the DescribeSecurityGroups operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSecurityGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSecurityGroupsAsync( final DescribeSecurityGroupsRequest describeSecurityGroupsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSecurityGroupsResult call() throws Exception { DescribeSecurityGroupsResult result; try { result = describeSecurityGroups(describeSecurityGroupsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSecurityGroupsRequest, result); return result; } }); } /** *

* Rejects a VPC peering connection request. The VPC peering connection * must be in the pending-acceptance state. Use the * DescribeVpcPeeringConnections request to view your * outstanding VPC peering connection requests. *

* * @param rejectVpcPeeringConnectionRequest Container for the necessary * parameters to execute the RejectVpcPeeringConnection operation on * AmazonEC2. * * @return A Java Future object containing the response from the * RejectVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future rejectVpcPeeringConnectionAsync(final RejectVpcPeeringConnectionRequest rejectVpcPeeringConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RejectVpcPeeringConnectionResult call() throws Exception { return rejectVpcPeeringConnection(rejectVpcPeeringConnectionRequest); } }); } /** *

* Rejects a VPC peering connection request. The VPC peering connection * must be in the pending-acceptance state. Use the * DescribeVpcPeeringConnections request to view your * outstanding VPC peering connection requests. *

* * @param rejectVpcPeeringConnectionRequest Container for the necessary * parameters to execute the RejectVpcPeeringConnection operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RejectVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future rejectVpcPeeringConnectionAsync( final RejectVpcPeeringConnectionRequest rejectVpcPeeringConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RejectVpcPeeringConnectionResult call() throws Exception { RejectVpcPeeringConnectionResult result; try { result = rejectVpcPeeringConnection(rejectVpcPeeringConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(rejectVpcPeeringConnectionRequest, result); return result; } }); } /** *

* Detaches a virtual private gateway from a VPC. You do this if you're * planning to turn off the VPC and not use it anymore. You can confirm a * virtual private gateway has been completely detached from a VPC by * describing the virtual private gateway (any attachments to the virtual * private gateway are also described). *

*

* You must wait for the attachment's state to switch to * detached before you can delete the VPC or attach a * different VPC to the virtual private gateway. *

* * @param detachVpnGatewayRequest Container for the necessary parameters * to execute the DetachVpnGateway operation on AmazonEC2. * * @return A Java Future object containing the response from the * DetachVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachVpnGatewayAsync(final DetachVpnGatewayRequest detachVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { detachVpnGateway(detachVpnGatewayRequest); return null; } }); } /** *

* Detaches a virtual private gateway from a VPC. You do this if you're * planning to turn off the VPC and not use it anymore. You can confirm a * virtual private gateway has been completely detached from a VPC by * describing the virtual private gateway (any attachments to the virtual * private gateway are also described). *

*

* You must wait for the attachment's state to switch to * detached before you can delete the VPC or attach a * different VPC to the virtual private gateway. *

* * @param detachVpnGatewayRequest Container for the necessary parameters * to execute the DetachVpnGateway operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DetachVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachVpnGatewayAsync( final DetachVpnGatewayRequest detachVpnGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { detachVpnGateway(detachVpnGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachVpnGatewayRequest, null); return null; } }); } /** *

* Deregisters the specified AMI. After you deregister an AMI, it can't * be used to launch new instances. *

*

* This command does not delete the AMI. *

* * @param deregisterImageRequest Container for the necessary parameters * to execute the DeregisterImage operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeregisterImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deregisterImageAsync(final DeregisterImageRequest deregisterImageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deregisterImage(deregisterImageRequest); return null; } }); } /** *

* Deregisters the specified AMI. After you deregister an AMI, it can't * be used to launch new instances. *

*

* This command does not delete the AMI. *

* * @param deregisterImageRequest Container for the necessary parameters * to execute the DeregisterImage operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeregisterImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deregisterImageAsync( final DeregisterImageRequest deregisterImageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deregisterImage(deregisterImageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deregisterImageRequest, null); return null; } }); } /** *

* Describes the datafeed for Spot Instances. For more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DescribeSpotDatafeedSubscription * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotDatafeedSubscriptionAsync(final DescribeSpotDatafeedSubscriptionRequest describeSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotDatafeedSubscriptionResult call() throws Exception { return describeSpotDatafeedSubscription(describeSpotDatafeedSubscriptionRequest); } }); } /** *

* Describes the datafeed for Spot Instances. For more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DescribeSpotDatafeedSubscription * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotDatafeedSubscriptionAsync( final DescribeSpotDatafeedSubscriptionRequest describeSpotDatafeedSubscriptionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotDatafeedSubscriptionResult call() throws Exception { DescribeSpotDatafeedSubscriptionResult result; try { result = describeSpotDatafeedSubscription(describeSpotDatafeedSubscriptionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotDatafeedSubscriptionRequest, result); return result; } }); } /** *

* Deletes the specified set of tags from the specified set of resources. * This call is designed to follow a DescribeTags request. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteTagsRequest Container for the necessary parameters to * execute the DeleteTags operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTagsAsync(final DeleteTagsRequest deleteTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteTags(deleteTagsRequest); return null; } }); } /** *

* Deletes the specified set of tags from the specified set of resources. * This call is designed to follow a DescribeTags request. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteTagsRequest Container for the necessary parameters to * execute the DeleteTags operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTagsAsync( final DeleteTagsRequest deleteTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteTags(deleteTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteTagsRequest, null); return null; } }); } /** *

* Deletes the specified subnet. You must terminate all running instances * in the subnet before you can delete the subnet. *

* * @param deleteSubnetRequest Container for the necessary parameters to * execute the DeleteSubnet operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteSubnet service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSubnetAsync(final DeleteSubnetRequest deleteSubnetRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSubnet(deleteSubnetRequest); return null; } }); } /** *

* Deletes the specified subnet. You must terminate all running instances * in the subnet before you can delete the subnet. *

* * @param deleteSubnetRequest Container for the necessary parameters to * execute the DeleteSubnet operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSubnet service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSubnetAsync( final DeleteSubnetRequest deleteSubnetRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSubnet(deleteSubnetRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSubnetRequest, null); return null; } }); } /** *

* Describes the specified attribute of your AWS account. *

* * @param describeAccountAttributesRequest Container for the necessary * parameters to execute the DescribeAccountAttributes operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeAccountAttributes service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAccountAttributesAsync(final DescribeAccountAttributesRequest describeAccountAttributesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAccountAttributesResult call() throws Exception { return describeAccountAttributes(describeAccountAttributesRequest); } }); } /** *

* Describes the specified attribute of your AWS account. *

* * @param describeAccountAttributesRequest Container for the necessary * parameters to execute the DescribeAccountAttributes operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeAccountAttributes service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAccountAttributesAsync( final DescribeAccountAttributesRequest describeAccountAttributesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAccountAttributesResult call() throws Exception { DescribeAccountAttributesResult result; try { result = describeAccountAttributes(describeAccountAttributesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAccountAttributesRequest, result); return result; } }); } /** *

* Creates a virtual private gateway. A virtual private gateway is the * endpoint on the VPC side of your VPN connection. You can create a * virtual private gateway before creating the VPC itself. *

*

* For more information about virtual private gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnGatewayRequest Container for the necessary parameters * to execute the CreateVpnGateway operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnGatewayAsync(final CreateVpnGatewayRequest createVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpnGatewayResult call() throws Exception { return createVpnGateway(createVpnGatewayRequest); } }); } /** *

* Creates a virtual private gateway. A virtual private gateway is the * endpoint on the VPC side of your VPN connection. You can create a * virtual private gateway before creating the VPC itself. *

*

* For more information about virtual private gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnGatewayRequest Container for the necessary parameters * to execute the CreateVpnGateway operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnGatewayAsync( final CreateVpnGatewayRequest createVpnGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpnGatewayResult call() throws Exception { CreateVpnGatewayResult result; try { result = createVpnGateway(createVpnGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpnGatewayRequest, result); return result; } }); } /** *

* Enables I/O operations for a volume that had I/O operations disabled * because the data on the volume was potentially inconsistent. *

* * @param enableVolumeIORequest Container for the necessary parameters to * execute the EnableVolumeIO operation on AmazonEC2. * * @return A Java Future object containing the response from the * EnableVolumeIO service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVolumeIOAsync(final EnableVolumeIORequest enableVolumeIORequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { enableVolumeIO(enableVolumeIORequest); return null; } }); } /** *

* Enables I/O operations for a volume that had I/O operations disabled * because the data on the volume was potentially inconsistent. *

* * @param enableVolumeIORequest Container for the necessary parameters to * execute the EnableVolumeIO operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * EnableVolumeIO service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVolumeIOAsync( final EnableVolumeIORequest enableVolumeIORequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { enableVolumeIO(enableVolumeIORequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableVolumeIORequest, null); return null; } }); } /** *

* Deletes the specified virtual private gateway. We recommend that * before you delete a virtual private gateway, you detach it from the * VPC and delete the VPN connection. Note that you don't need to delete * the virtual private gateway if you plan to delete and recreate the VPN * connection between your VPC and your network. *

* * @param deleteVpnGatewayRequest Container for the necessary parameters * to execute the DeleteVpnGateway operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnGatewayAsync(final DeleteVpnGatewayRequest deleteVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVpnGateway(deleteVpnGatewayRequest); return null; } }); } /** *

* Deletes the specified virtual private gateway. We recommend that * before you delete a virtual private gateway, you detach it from the * VPC and delete the VPN connection. Note that you don't need to delete * the virtual private gateway if you plan to delete and recreate the VPN * connection between your VPC and your network. *

* * @param deleteVpnGatewayRequest Container for the necessary parameters * to execute the DeleteVpnGateway operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVpnGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnGatewayAsync( final DeleteVpnGatewayRequest deleteVpnGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVpnGateway(deleteVpnGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpnGatewayRequest, null); return null; } }); } /** *

* Attaches an Amazon EBS volume to a running or stopped instance and * exposes it to the instance with the specified device name. *

*

* For a list of supported device names, see * Attaching an Amazon EBS Volume to an Instance . Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store * in the Amazon Elastic Compute Cloud User Guide . *

*

* If a volume has an AWS Marketplace product code: *

* *
    *
  • The volume can only be attached as the root device of a stopped * instance.
  • *
  • You must be subscribed to the AWS Marketplace code that is on the * volume.
  • *
  • The configuration (instance type, operating system) of the * instance must support that specific AWS Marketplace code. For example, * you cannot take a volume from a Windows instance and attach it to a * Linux instance.
  • *
  • AWS Marketplace product codes are copied from the volume to the * instance.
  • * *
*

* For an overview of the AWS Marketplace, see * https://aws.amazon.com/marketplace/help/200900000 . For more information about how to use the AWS Marketplace, see AWS Marketplace * . *

*

* For more information about Amazon EBS volumes, see * Attaching Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param attachVolumeRequest Container for the necessary parameters to * execute the AttachVolume operation on AmazonEC2. * * @return A Java Future object containing the response from the * AttachVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachVolumeAsync(final AttachVolumeRequest attachVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachVolumeResult call() throws Exception { return attachVolume(attachVolumeRequest); } }); } /** *

* Attaches an Amazon EBS volume to a running or stopped instance and * exposes it to the instance with the specified device name. *

*

* For a list of supported device names, see * Attaching an Amazon EBS Volume to an Instance . Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store * in the Amazon Elastic Compute Cloud User Guide . *

*

* If a volume has an AWS Marketplace product code: *

* *
    *
  • The volume can only be attached as the root device of a stopped * instance.
  • *
  • You must be subscribed to the AWS Marketplace code that is on the * volume.
  • *
  • The configuration (instance type, operating system) of the * instance must support that specific AWS Marketplace code. For example, * you cannot take a volume from a Windows instance and attach it to a * Linux instance.
  • *
  • AWS Marketplace product codes are copied from the volume to the * instance.
  • * *
*

* For an overview of the AWS Marketplace, see * https://aws.amazon.com/marketplace/help/200900000 . For more information about how to use the AWS Marketplace, see AWS Marketplace * . *

*

* For more information about Amazon EBS volumes, see * Attaching Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param attachVolumeRequest Container for the necessary parameters to * execute the AttachVolume operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AttachVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachVolumeAsync( final AttachVolumeRequest attachVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachVolumeResult call() throws Exception { AttachVolumeResult result; try { result = attachVolume(attachVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachVolumeRequest, result); return result; } }); } /** *

* Describes the status of the specified volumes. Volume status provides * the result of the checks performed on your volumes to determine events * that can impair the performance of your volumes. The performance of a * volume can be affected if an issue occurs on the volume's underlying * host. If the volume's underlying host experiences a power outage or * system issue, after the system is restored, there could be data * inconsistencies on the volume. Volume events notify you if this * occurs. Volume actions notify you if any action needs to be taken in * response to the event. *

*

* The DescribeVolumeStatus operation provides the following * information about the specified volumes: *

*

* Status : Reflects the current status of the volume. The * possible values are ok , * impaired , * warning , or * insufficient-data . If all checks pass, the overall * status of the volume is ok . If the check fails, the * overall status is impaired . If the status is * insufficient-data , then the checks may still be taking * place on your volume at the time. We recommend that you retry the * request. For more information on volume status, see * Monitoring the Status of Your Volumes * . *

*

* Events : Reflect the cause of a volume status and may require * you to take action. For example, if your volume returns an * impaired status, then the volume event might be * potential-data-inconsistency . This means that your * volume has been affected by an issue with the underlying host, has all * I/O operations disabled, and may have inconsistent data. *

*

* Actions : Reflect the actions you may have to take in response * to an event. For example, if the status of the volume is * impaired and the volume event shows * potential-data-inconsistency , then the action shows * enable-volume-io . This means that you may want to enable * the I/O operations for the volume by calling the EnableVolumeIO action * and then check the volume for data consistency. *

*

* NOTE: Volume status is based on the volume status checks, and * does not reflect the volume state. Therefore, volume status does not * indicate volumes in the error state (for example, when a volume is * incapable of accepting I/O.) *

* * @param describeVolumeStatusRequest Container for the necessary * parameters to execute the DescribeVolumeStatus operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVolumeStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumeStatusAsync(final DescribeVolumeStatusRequest describeVolumeStatusRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumeStatusResult call() throws Exception { return describeVolumeStatus(describeVolumeStatusRequest); } }); } /** *

* Describes the status of the specified volumes. Volume status provides * the result of the checks performed on your volumes to determine events * that can impair the performance of your volumes. The performance of a * volume can be affected if an issue occurs on the volume's underlying * host. If the volume's underlying host experiences a power outage or * system issue, after the system is restored, there could be data * inconsistencies on the volume. Volume events notify you if this * occurs. Volume actions notify you if any action needs to be taken in * response to the event. *

*

* The DescribeVolumeStatus operation provides the following * information about the specified volumes: *

*

* Status : Reflects the current status of the volume. The * possible values are ok , * impaired , * warning , or * insufficient-data . If all checks pass, the overall * status of the volume is ok . If the check fails, the * overall status is impaired . If the status is * insufficient-data , then the checks may still be taking * place on your volume at the time. We recommend that you retry the * request. For more information on volume status, see * Monitoring the Status of Your Volumes * . *

*

* Events : Reflect the cause of a volume status and may require * you to take action. For example, if your volume returns an * impaired status, then the volume event might be * potential-data-inconsistency . This means that your * volume has been affected by an issue with the underlying host, has all * I/O operations disabled, and may have inconsistent data. *

*

* Actions : Reflect the actions you may have to take in response * to an event. For example, if the status of the volume is * impaired and the volume event shows * potential-data-inconsistency , then the action shows * enable-volume-io . This means that you may want to enable * the I/O operations for the volume by calling the EnableVolumeIO action * and then check the volume for data consistency. *

*

* NOTE: Volume status is based on the volume status checks, and * does not reflect the volume state. Therefore, volume status does not * indicate volumes in the error state (for example, when a volume is * incapable of accepting I/O.) *

* * @param describeVolumeStatusRequest Container for the necessary * parameters to execute the DescribeVolumeStatus operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVolumeStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumeStatusAsync( final DescribeVolumeStatusRequest describeVolumeStatusRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumeStatusResult call() throws Exception { DescribeVolumeStatusResult result; try { result = describeVolumeStatus(describeVolumeStatusRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVolumeStatusRequest, result); return result; } }); } /** *

* Resets an attribute of an AMI to its default value. *

* * @param resetImageAttributeRequest Container for the necessary * parameters to execute the ResetImageAttribute operation on AmazonEC2. * * @return A Java Future object containing the response from the * ResetImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetImageAttributeAsync(final ResetImageAttributeRequest resetImageAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resetImageAttribute(resetImageAttributeRequest); return null; } }); } /** *

* Resets an attribute of an AMI to its default value. *

* * @param resetImageAttributeRequest Container for the necessary * parameters to execute the ResetImageAttribute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResetImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetImageAttributeAsync( final ResetImageAttributeRequest resetImageAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resetImageAttribute(resetImageAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resetImageAttributeRequest, null); return null; } }); } /** *

* Describes one or more of your VPN connections. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeVpnConnectionsRequest Container for the necessary * parameters to execute the DescribeVpnConnections operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVpnConnections service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpnConnectionsAsync(final DescribeVpnConnectionsRequest describeVpnConnectionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpnConnectionsResult call() throws Exception { return describeVpnConnections(describeVpnConnectionsRequest); } }); } /** *

* Describes one or more of your VPN connections. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeVpnConnectionsRequest Container for the necessary * parameters to execute the DescribeVpnConnections operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVpnConnections service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpnConnectionsAsync( final DescribeVpnConnectionsRequest describeVpnConnectionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpnConnectionsResult call() throws Exception { DescribeVpnConnectionsResult result; try { result = describeVpnConnections(describeVpnConnectionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpnConnectionsRequest, result); return result; } }); } /** *

* Enables a virtual private gateway (VGW) to propagate routes to the * routing tables of a VPC. *

* * @param enableVgwRoutePropagationRequest Container for the necessary * parameters to execute the EnableVgwRoutePropagation operation on * AmazonEC2. * * @return A Java Future object containing the response from the * EnableVgwRoutePropagation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVgwRoutePropagationAsync(final EnableVgwRoutePropagationRequest enableVgwRoutePropagationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { enableVgwRoutePropagation(enableVgwRoutePropagationRequest); return null; } }); } /** *

* Enables a virtual private gateway (VGW) to propagate routes to the * routing tables of a VPC. *

* * @param enableVgwRoutePropagationRequest Container for the necessary * parameters to execute the EnableVgwRoutePropagation operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * EnableVgwRoutePropagation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVgwRoutePropagationAsync( final EnableVgwRoutePropagationRequest enableVgwRoutePropagationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { enableVgwRoutePropagation(enableVgwRoutePropagationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableVgwRoutePropagationRequest, null); return null; } }); } /** *

* Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. * You can use snapshots for backups, to make copies of Amazon EBS * volumes, and to save data before shutting down an instance. *

*

* When a snapshot is created, any AWS Marketplace product codes that are * associated with the source volume are propagated to the snapshot. *

*

* You can take a snapshot of an attached volume that is in use. However, * snapshots only capture data that has been written to your Amazon EBS * volume at the time the snapshot command is issued; this may exclude * any data that has been cached by any applications or the operating * system. If you can pause any file writes to the volume long enough to * take a snapshot, your snapshot should be complete. However, if you * cannot pause all file writes to the volume, you should unmount the * volume from within the instance, issue the snapshot command, and then * remount the volume to ensure a consistent and complete snapshot. You * may remount and use your volume while the snapshot status is * pending . *

*

* To create a snapshot for Amazon EBS volumes that serve as root * devices, you should stop the instance before taking the snapshot. *

*

* For more information, see * Creating an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createSnapshotRequest Container for the necessary parameters to * execute the CreateSnapshot operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateSnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotAsync(final CreateSnapshotRequest createSnapshotRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotResult call() throws Exception { return createSnapshot(createSnapshotRequest); } }); } /** *

* Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. * You can use snapshots for backups, to make copies of Amazon EBS * volumes, and to save data before shutting down an instance. *

*

* When a snapshot is created, any AWS Marketplace product codes that are * associated with the source volume are propagated to the snapshot. *

*

* You can take a snapshot of an attached volume that is in use. However, * snapshots only capture data that has been written to your Amazon EBS * volume at the time the snapshot command is issued; this may exclude * any data that has been cached by any applications or the operating * system. If you can pause any file writes to the volume long enough to * take a snapshot, your snapshot should be complete. However, if you * cannot pause all file writes to the volume, you should unmount the * volume from within the instance, issue the snapshot command, and then * remount the volume to ensure a consistent and complete snapshot. You * may remount and use your volume while the snapshot status is * pending . *

*

* To create a snapshot for Amazon EBS volumes that serve as root * devices, you should stop the instance before taking the snapshot. *

*

* For more information, see * Creating an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createSnapshotRequest Container for the necessary parameters to * execute the CreateSnapshot operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotAsync( final CreateSnapshotRequest createSnapshotRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotResult call() throws Exception { CreateSnapshotResult result; try { result = createSnapshot(createSnapshotRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSnapshotRequest, result); return result; } }); } /** *

* Deletes the specified Amazon EBS volume. The volume must be in the * available state (not attached to an instance). *

*

* NOTE: The volume remains in the deleting state for several * minutes. *

*

* For more information, see * Deleting an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteVolumeRequest Container for the necessary parameters to * execute the DeleteVolume operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVolumeAsync(final DeleteVolumeRequest deleteVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVolume(deleteVolumeRequest); return null; } }); } /** *

* Deletes the specified Amazon EBS volume. The volume must be in the * available state (not attached to an instance). *

*

* NOTE: The volume remains in the deleting state for several * minutes. *

*

* For more information, see * Deleting an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteVolumeRequest Container for the necessary parameters to * execute the DeleteVolume operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVolumeAsync( final DeleteVolumeRequest deleteVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVolume(deleteVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVolumeRequest, null); return null; } }); } /** *

* Creates a network interface in the specified subnet. *

*

* For more information about network interfaces, see * Elastic Network Interfaces * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createNetworkInterfaceRequest Container for the necessary * parameters to execute the CreateNetworkInterface operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkInterfaceAsync(final CreateNetworkInterfaceRequest createNetworkInterfaceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateNetworkInterfaceResult call() throws Exception { return createNetworkInterface(createNetworkInterfaceRequest); } }); } /** *

* Creates a network interface in the specified subnet. *

*

* For more information about network interfaces, see * Elastic Network Interfaces * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createNetworkInterfaceRequest Container for the necessary * parameters to execute the CreateNetworkInterface operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkInterfaceAsync( final CreateNetworkInterfaceRequest createNetworkInterfaceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateNetworkInterfaceResult call() throws Exception { CreateNetworkInterfaceResult result; try { result = createNetworkInterface(createNetworkInterfaceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createNetworkInterfaceRequest, result); return result; } }); } /** *

* Modifies the Availability Zone, instance count, instance type, or * network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. * The Reserved Instances to be modified must be identical, except for * Availability Zone, network platform, and instance type. *

* * @param modifyReservedInstancesRequest Container for the necessary * parameters to execute the ModifyReservedInstances operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ModifyReservedInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyReservedInstancesAsync(final ModifyReservedInstancesRequest modifyReservedInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyReservedInstancesResult call() throws Exception { return modifyReservedInstances(modifyReservedInstancesRequest); } }); } /** *

* Modifies the Availability Zone, instance count, instance type, or * network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. * The Reserved Instances to be modified must be identical, except for * Availability Zone, network platform, and instance type. *

* * @param modifyReservedInstancesRequest Container for the necessary * parameters to execute the ModifyReservedInstances operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyReservedInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyReservedInstancesAsync( final ModifyReservedInstancesRequest modifyReservedInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyReservedInstancesResult call() throws Exception { ModifyReservedInstancesResult result; try { result = modifyReservedInstances(modifyReservedInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyReservedInstancesRequest, result); return result; } }); } /** *

* Describes one or more of your VPCs. *

* * @param describeVpcsRequest Container for the necessary parameters to * execute the DescribeVpcs operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVpcs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcsAsync(final DescribeVpcsRequest describeVpcsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcsResult call() throws Exception { return describeVpcs(describeVpcsRequest); } }); } /** *

* Describes one or more of your VPCs. *

* * @param describeVpcsRequest Container for the necessary parameters to * execute the DescribeVpcs operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVpcs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcsAsync( final DescribeVpcsRequest describeVpcsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcsResult call() throws Exception { DescribeVpcsResult result; try { result = describeVpcs(describeVpcsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcsRequest, result); return result; } }); } /** *

* Unassigns one or more secondary private IP addresses from a network * interface. *

* * @param unassignPrivateIpAddressesRequest Container for the necessary * parameters to execute the UnassignPrivateIpAddresses operation on * AmazonEC2. * * @return A Java Future object containing the response from the * UnassignPrivateIpAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future unassignPrivateIpAddressesAsync(final UnassignPrivateIpAddressesRequest unassignPrivateIpAddressesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { unassignPrivateIpAddresses(unassignPrivateIpAddressesRequest); return null; } }); } /** *

* Unassigns one or more secondary private IP addresses from a network * interface. *

* * @param unassignPrivateIpAddressesRequest Container for the necessary * parameters to execute the UnassignPrivateIpAddresses operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UnassignPrivateIpAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future unassignPrivateIpAddressesAsync( final UnassignPrivateIpAddressesRequest unassignPrivateIpAddressesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { unassignPrivateIpAddresses(unassignPrivateIpAddressesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(unassignPrivateIpAddressesRequest, null); return null; } }); } /** *

* Cancels an active conversion task. The task can be the import of an * instance or volume. The action removes all artifacts of the * conversion, including a partially uploaded volume or instance. If the * conversion is complete or is in the process of transferring the final * disk image, the command fails and returns an exception. *

*

* For more information, see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param cancelConversionTaskRequest Container for the necessary * parameters to execute the CancelConversionTask operation on AmazonEC2. * * @return A Java Future object containing the response from the * CancelConversionTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelConversionTaskAsync(final CancelConversionTaskRequest cancelConversionTaskRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { cancelConversionTask(cancelConversionTaskRequest); return null; } }); } /** *

* Cancels an active conversion task. The task can be the import of an * instance or volume. The action removes all artifacts of the * conversion, including a partially uploaded volume or instance. If the * conversion is complete or is in the process of transferring the final * disk image, the command fails and returns an exception. *

*

* For more information, see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param cancelConversionTaskRequest Container for the necessary * parameters to execute the CancelConversionTask operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelConversionTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelConversionTaskAsync( final CancelConversionTaskRequest cancelConversionTaskRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { cancelConversionTask(cancelConversionTaskRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelConversionTaskRequest, null); return null; } }); } /** *

* Associates an Elastic IP address with an instance or a network * interface. *

*

* An Elastic IP address is for use in either the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

*

* [EC2-Classic, default VPC] If the Elastic IP address is already * associated with a different instance, it is disassociated from that * instance and associated with the specified instance. *

*

* [EC2-VPC] If you don't specify a private IP address, the Elastic IP * address is associated with the primary IP address. If the Elastic IP * address is already associated with a different instance or a network * interface, you get an error unless you allow reassociation. *

*

* This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *

* * @param associateAddressRequest Container for the necessary parameters * to execute the AssociateAddress operation on AmazonEC2. * * @return A Java Future object containing the response from the * AssociateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateAddressAsync(final AssociateAddressRequest associateAddressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AssociateAddressResult call() throws Exception { return associateAddress(associateAddressRequest); } }); } /** *

* Associates an Elastic IP address with an instance or a network * interface. *

*

* An Elastic IP address is for use in either the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

*

* [EC2-Classic, default VPC] If the Elastic IP address is already * associated with a different instance, it is disassociated from that * instance and associated with the specified instance. *

*

* [EC2-VPC] If you don't specify a private IP address, the Elastic IP * address is associated with the primary IP address. If the Elastic IP * address is already associated with a different instance or a network * interface, you get an error unless you allow reassociation. *

*

* This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *

* * @param associateAddressRequest Container for the necessary parameters * to execute the AssociateAddress operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AssociateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateAddressAsync( final AssociateAddressRequest associateAddressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AssociateAddressResult call() throws Exception { AssociateAddressResult result; try { result = associateAddress(associateAddressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(associateAddressRequest, result); return result; } }); } /** *

* Deletes the specified customer gateway. You must delete the VPN * connection before you can delete the customer gateway. *

* * @param deleteCustomerGatewayRequest Container for the necessary * parameters to execute the DeleteCustomerGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteCustomerGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteCustomerGatewayAsync(final DeleteCustomerGatewayRequest deleteCustomerGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteCustomerGateway(deleteCustomerGatewayRequest); return null; } }); } /** *

* Deletes the specified customer gateway. You must delete the VPN * connection before you can delete the customer gateway. *

* * @param deleteCustomerGatewayRequest Container for the necessary * parameters to execute the DeleteCustomerGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteCustomerGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteCustomerGatewayAsync( final DeleteCustomerGatewayRequest deleteCustomerGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteCustomerGateway(deleteCustomerGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteCustomerGatewayRequest, null); return null; } }); } /** *

* Creates an entry (a rule) in a network ACL with the specified rule * number. Each network ACL has a set of numbered ingress rules and a * separate set of numbered egress rules. When determining whether a * packet should be allowed in or out of a subnet associated with the * ACL, we process the entries in the ACL according to the rule numbers, * in ascending order. Each network ACL has a set of ingress rules and a * separate set of egress rules. *

*

* We recommend that you leave room between the rule numbers (for * example, 100, 110, 120, ...), and not number them one right after the * other (for example, 101, 102, 103, ...). This makes it easier to add a * rule between existing ones without having to renumber the rules. *

*

* After you add an entry, you can't modify it; you must either replace * it, or create an entry and delete the old one. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param createNetworkAclEntryRequest Container for the necessary * parameters to execute the CreateNetworkAclEntry operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkAclEntryAsync(final CreateNetworkAclEntryRequest createNetworkAclEntryRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createNetworkAclEntry(createNetworkAclEntryRequest); return null; } }); } /** *

* Creates an entry (a rule) in a network ACL with the specified rule * number. Each network ACL has a set of numbered ingress rules and a * separate set of numbered egress rules. When determining whether a * packet should be allowed in or out of a subnet associated with the * ACL, we process the entries in the ACL according to the rule numbers, * in ascending order. Each network ACL has a set of ingress rules and a * separate set of egress rules. *

*

* We recommend that you leave room between the rule numbers (for * example, 100, 110, 120, ...), and not number them one right after the * other (for example, 101, 102, 103, ...). This makes it easier to add a * rule between existing ones without having to renumber the rules. *

*

* After you add an entry, you can't modify it; you must either replace * it, or create an entry and delete the old one. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param createNetworkAclEntryRequest Container for the necessary * parameters to execute the CreateNetworkAclEntry operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkAclEntryAsync( final CreateNetworkAclEntryRequest createNetworkAclEntryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createNetworkAclEntry(createNetworkAclEntryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createNetworkAclEntryRequest, null); return null; } }); } /** *

* Accept a VPC peering connection request. To accept a request, the VPC * peering connection must be in the pending-acceptance * state, and you must be the owner of the peer VPC. Use the * DescribeVpcPeeringConnections request to view your * outstanding VPC peering connection requests. *

* * @param acceptVpcPeeringConnectionRequest Container for the necessary * parameters to execute the AcceptVpcPeeringConnection operation on * AmazonEC2. * * @return A Java Future object containing the response from the * AcceptVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future acceptVpcPeeringConnectionAsync(final AcceptVpcPeeringConnectionRequest acceptVpcPeeringConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AcceptVpcPeeringConnectionResult call() throws Exception { return acceptVpcPeeringConnection(acceptVpcPeeringConnectionRequest); } }); } /** *

* Accept a VPC peering connection request. To accept a request, the VPC * peering connection must be in the pending-acceptance * state, and you must be the owner of the peer VPC. Use the * DescribeVpcPeeringConnections request to view your * outstanding VPC peering connection requests. *

* * @param acceptVpcPeeringConnectionRequest Container for the necessary * parameters to execute the AcceptVpcPeeringConnection operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AcceptVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future acceptVpcPeeringConnectionAsync( final AcceptVpcPeeringConnectionRequest acceptVpcPeeringConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AcceptVpcPeeringConnectionResult call() throws Exception { AcceptVpcPeeringConnectionResult result; try { result = acceptVpcPeeringConnection(acceptVpcPeeringConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(acceptVpcPeeringConnectionRequest, result); return result; } }); } /** *

* Describes one or more of your export tasks. *

* * @param describeExportTasksRequest Container for the necessary * parameters to execute the DescribeExportTasks operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeExportTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeExportTasksAsync(final DescribeExportTasksRequest describeExportTasksRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeExportTasksResult call() throws Exception { return describeExportTasks(describeExportTasksRequest); } }); } /** *

* Describes one or more of your export tasks. *

* * @param describeExportTasksRequest Container for the necessary * parameters to execute the DescribeExportTasks operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeExportTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeExportTasksAsync( final DescribeExportTasksRequest describeExportTasksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeExportTasksResult call() throws Exception { DescribeExportTasksResult result; try { result = describeExportTasks(describeExportTasksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeExportTasksRequest, result); return result; } }); } /** *

* Detaches an Internet gateway from a VPC, disabling connectivity * between the Internet and the VPC. The VPC must not contain any running * instances with Elastic IP addresses. *

* * @param detachInternetGatewayRequest Container for the necessary * parameters to execute the DetachInternetGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DetachInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachInternetGatewayAsync(final DetachInternetGatewayRequest detachInternetGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { detachInternetGateway(detachInternetGatewayRequest); return null; } }); } /** *

* Detaches an Internet gateway from a VPC, disabling connectivity * between the Internet and the VPC. The VPC must not contain any running * instances with Elastic IP addresses. *

* * @param detachInternetGatewayRequest Container for the necessary * parameters to execute the DetachInternetGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DetachInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachInternetGatewayAsync( final DetachInternetGatewayRequest detachInternetGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { detachInternetGateway(detachInternetGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachInternetGatewayRequest, null); return null; } }); } /** *

* Requests a VPC peering connection between two VPCs: a requester VPC * that you own and a peer VPC with which to create the connection. The * peer VPC can belong to another AWS account. The requester VPC and peer * VPC cannot have overlapping CIDR blocks. *

*

* The owner of the peer VPC must accept the the peering request to * activate the peering connection. The VPC peering connection request * expires after 7 days, after which it cannot be accepted or rejected. *

*

* A CreateVpcPeeringConnection request between VPCs with * overlapping CIDR blocks results in the VPC peering connection having a * status of failed . *

* * @param createVpcPeeringConnectionRequest Container for the necessary * parameters to execute the CreateVpcPeeringConnection operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpcPeeringConnectionAsync(final CreateVpcPeeringConnectionRequest createVpcPeeringConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpcPeeringConnectionResult call() throws Exception { return createVpcPeeringConnection(createVpcPeeringConnectionRequest); } }); } /** *

* Requests a VPC peering connection between two VPCs: a requester VPC * that you own and a peer VPC with which to create the connection. The * peer VPC can belong to another AWS account. The requester VPC and peer * VPC cannot have overlapping CIDR blocks. *

*

* The owner of the peer VPC must accept the the peering request to * activate the peering connection. The VPC peering connection request * expires after 7 days, after which it cannot be accepted or rejected. *

*

* A CreateVpcPeeringConnection request between VPCs with * overlapping CIDR blocks results in the VPC peering connection having a * status of failed . *

* * @param createVpcPeeringConnectionRequest Container for the necessary * parameters to execute the CreateVpcPeeringConnection operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpcPeeringConnectionAsync( final CreateVpcPeeringConnectionRequest createVpcPeeringConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpcPeeringConnectionResult call() throws Exception { CreateVpcPeeringConnectionResult result; try { result = createVpcPeeringConnection(createVpcPeeringConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpcPeeringConnectionRequest, result); return result; } }); } /** *

* Creates a route table for the specified VPC. After you create a route * table, you can add routes and associate the table with a subnet. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param createRouteTableRequest Container for the necessary parameters * to execute the CreateRouteTable operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createRouteTableAsync(final CreateRouteTableRequest createRouteTableRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateRouteTableResult call() throws Exception { return createRouteTable(createRouteTableRequest); } }); } /** *

* Creates a route table for the specified VPC. After you create a route * table, you can add routes and associate the table with a subnet. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param createRouteTableRequest Container for the necessary parameters * to execute the CreateRouteTable operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createRouteTableAsync( final CreateRouteTableRequest createRouteTableRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateRouteTableResult call() throws Exception { CreateRouteTableResult result; try { result = createRouteTable(createRouteTableRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createRouteTableRequest, result); return result; } }); } /** *

* Describes the specified Amazon EBS volumes. *

*

* For more information about Amazon EBS volumes, see * Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeVolumesRequest Container for the necessary parameters * to execute the DescribeVolumes operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVolumes service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumesAsync(final DescribeVolumesRequest describeVolumesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumesResult call() throws Exception { return describeVolumes(describeVolumesRequest); } }); } /** *

* Describes the specified Amazon EBS volumes. *

*

* For more information about Amazon EBS volumes, see * Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeVolumesRequest Container for the necessary parameters * to execute the DescribeVolumes operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVolumes service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumesAsync( final DescribeVolumesRequest describeVolumesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumesResult call() throws Exception { DescribeVolumesResult result; try { result = describeVolumes(describeVolumesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVolumesRequest, result); return result; } }); } /** *

* Describes your account's Reserved Instance listings in the Reserved * Instance Marketplace. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesListingsRequest Container for the * necessary parameters to execute the DescribeReservedInstancesListings * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeReservedInstancesListings service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesListingsAsync(final DescribeReservedInstancesListingsRequest describeReservedInstancesListingsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesListingsResult call() throws Exception { return describeReservedInstancesListings(describeReservedInstancesListingsRequest); } }); } /** *

* Describes your account's Reserved Instance listings in the Reserved * Instance Marketplace. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesListingsRequest Container for the * necessary parameters to execute the DescribeReservedInstancesListings * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeReservedInstancesListings service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesListingsAsync( final DescribeReservedInstancesListingsRequest describeReservedInstancesListingsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesListingsResult call() throws Exception { DescribeReservedInstancesListingsResult result; try { result = describeReservedInstancesListings(describeReservedInstancesListingsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeReservedInstancesListingsRequest, result); return result; } }); } /** *

* Submits feedback about the status of an instance. The instance must be * in the running state. If your experience with the * instance differs from the instance status returned by * DescribeInstanceStatus, use ReportInstanceStatus to report your * experience with the instance. Amazon EC2 collects this information to * improve the accuracy of status checks. *

* * @param reportInstanceStatusRequest Container for the necessary * parameters to execute the ReportInstanceStatus operation on AmazonEC2. * * @return A Java Future object containing the response from the * ReportInstanceStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future reportInstanceStatusAsync(final ReportInstanceStatusRequest reportInstanceStatusRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { reportInstanceStatus(reportInstanceStatusRequest); return null; } }); } /** *

* Submits feedback about the status of an instance. The instance must be * in the running state. If your experience with the * instance differs from the instance status returned by * DescribeInstanceStatus, use ReportInstanceStatus to report your * experience with the instance. Amazon EC2 collects this information to * improve the accuracy of status checks. *

* * @param reportInstanceStatusRequest Container for the necessary * parameters to execute the ReportInstanceStatus operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReportInstanceStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future reportInstanceStatusAsync( final ReportInstanceStatusRequest reportInstanceStatusRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { reportInstanceStatus(reportInstanceStatusRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(reportInstanceStatusRequest, null); return null; } }); } /** *

* Describes one or more of your route tables. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeRouteTablesRequest Container for the necessary * parameters to execute the DescribeRouteTables operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeRouteTables service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeRouteTablesAsync(final DescribeRouteTablesRequest describeRouteTablesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeRouteTablesResult call() throws Exception { return describeRouteTables(describeRouteTablesRequest); } }); } /** *

* Describes one or more of your route tables. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeRouteTablesRequest Container for the necessary * parameters to execute the DescribeRouteTables operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeRouteTables service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeRouteTablesAsync( final DescribeRouteTablesRequest describeRouteTablesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeRouteTablesResult call() throws Exception { DescribeRouteTablesResult result; try { result = describeRouteTables(describeRouteTablesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeRouteTablesRequest, result); return result; } }); } /** *

* Describes one or more of your DHCP options sets. *

*

* For more information about DHCP options sets, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeDhcpOptionsRequest Container for the necessary * parameters to execute the DescribeDhcpOptions operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeDhcpOptionsAsync(final DescribeDhcpOptionsRequest describeDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeDhcpOptionsResult call() throws Exception { return describeDhcpOptions(describeDhcpOptionsRequest); } }); } /** *

* Describes one or more of your DHCP options sets. *

*

* For more information about DHCP options sets, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeDhcpOptionsRequest Container for the necessary * parameters to execute the DescribeDhcpOptions operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeDhcpOptionsAsync( final DescribeDhcpOptionsRequest describeDhcpOptionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeDhcpOptionsResult call() throws Exception { DescribeDhcpOptionsResult result; try { result = describeDhcpOptions(describeDhcpOptionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeDhcpOptionsRequest, result); return result; } }); } /** *

* Enables monitoring for a running instance. For more information about * monitoring instances, see * Monitoring Your Instances and Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param monitorInstancesRequest Container for the necessary parameters * to execute the MonitorInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * MonitorInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future monitorInstancesAsync(final MonitorInstancesRequest monitorInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public MonitorInstancesResult call() throws Exception { return monitorInstances(monitorInstancesRequest); } }); } /** *

* Enables monitoring for a running instance. For more information about * monitoring instances, see * Monitoring Your Instances and Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param monitorInstancesRequest Container for the necessary parameters * to execute the MonitorInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * MonitorInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future monitorInstancesAsync( final MonitorInstancesRequest monitorInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public MonitorInstancesResult call() throws Exception { MonitorInstancesResult result; try { result = monitorInstances(monitorInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(monitorInstancesRequest, result); return result; } }); } /** *

* Describes one or more of your network ACLs. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeNetworkAclsRequest Container for the necessary * parameters to execute the DescribeNetworkAcls operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeNetworkAcls service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkAclsAsync(final DescribeNetworkAclsRequest describeNetworkAclsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkAclsResult call() throws Exception { return describeNetworkAcls(describeNetworkAclsRequest); } }); } /** *

* Describes one or more of your network ACLs. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeNetworkAclsRequest Container for the necessary * parameters to execute the DescribeNetworkAcls operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeNetworkAcls service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkAclsAsync( final DescribeNetworkAclsRequest describeNetworkAclsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkAclsResult call() throws Exception { DescribeNetworkAclsResult result; try { result = describeNetworkAcls(describeNetworkAclsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeNetworkAclsRequest, result); return result; } }); } /** *

* Describes one or more of your bundling tasks. *

*

* NOTE: Completed bundle tasks are listed for only a limited * time. If your bundle task is no longer in the list, you can still * register an AMI from it. Just use RegisterImage with the Amazon S3 * bucket name and image manifest name you provided to the bundle task. *

* * @param describeBundleTasksRequest Container for the necessary * parameters to execute the DescribeBundleTasks operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeBundleTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeBundleTasksAsync(final DescribeBundleTasksRequest describeBundleTasksRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeBundleTasksResult call() throws Exception { return describeBundleTasks(describeBundleTasksRequest); } }); } /** *

* Describes one or more of your bundling tasks. *

*

* NOTE: Completed bundle tasks are listed for only a limited * time. If your bundle task is no longer in the list, you can still * register an AMI from it. Just use RegisterImage with the Amazon S3 * bucket name and image manifest name you provided to the bundle task. *

* * @param describeBundleTasksRequest Container for the necessary * parameters to execute the DescribeBundleTasks operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeBundleTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeBundleTasksAsync( final DescribeBundleTasksRequest describeBundleTasksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeBundleTasksResult call() throws Exception { DescribeBundleTasksResult result; try { result = describeBundleTasks(describeBundleTasksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeBundleTasksRequest, result); return result; } }); } /** *

* Creates an import instance task using metadata from the specified disk * image. After importing the image, you then upload it using the * ec2-upload-disk-image command in the EC2 command line tools. For more * information, see Using the Command Line Tools to Import Your Virtual * Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide. *

* * @param importInstanceRequest Container for the necessary parameters to * execute the ImportInstance operation on AmazonEC2. * * @return A Java Future object containing the response from the * ImportInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importInstanceAsync(final ImportInstanceRequest importInstanceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportInstanceResult call() throws Exception { return importInstance(importInstanceRequest); } }); } /** *

* Creates an import instance task using metadata from the specified disk * image. After importing the image, you then upload it using the * ec2-upload-disk-image command in the EC2 command line tools. For more * information, see Using the Command Line Tools to Import Your Virtual * Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide. *

* * @param importInstanceRequest Container for the necessary parameters to * execute the ImportInstance operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ImportInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importInstanceAsync( final ImportInstanceRequest importInstanceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportInstanceResult call() throws Exception { ImportInstanceResult result; try { result = importInstance(importInstanceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importInstanceRequest, result); return result; } }); } /** *

* Removes one or more ingress rules from a security group. The values * that you specify in the revoke request (for example, ports) must match * the existing rule's values for the rule to be removed. *

*

* Each rule consists of the protocol and the CIDR range or source * security group. For the TCP and UDP protocols, you must also specify * the destination port or range of ports. For the ICMP protocol, you * must also specify the ICMP type and code. *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

* * @param revokeSecurityGroupIngressRequest Container for the necessary * parameters to execute the RevokeSecurityGroupIngress operation on * AmazonEC2. * * @return A Java Future object containing the response from the * RevokeSecurityGroupIngress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future revokeSecurityGroupIngressAsync(final RevokeSecurityGroupIngressRequest revokeSecurityGroupIngressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { revokeSecurityGroupIngress(revokeSecurityGroupIngressRequest); return null; } }); } /** *

* Removes one or more ingress rules from a security group. The values * that you specify in the revoke request (for example, ports) must match * the existing rule's values for the rule to be removed. *

*

* Each rule consists of the protocol and the CIDR range or source * security group. For the TCP and UDP protocols, you must also specify * the destination port or range of ports. For the ICMP protocol, you * must also specify the ICMP type and code. *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

* * @param revokeSecurityGroupIngressRequest Container for the necessary * parameters to execute the RevokeSecurityGroupIngress operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RevokeSecurityGroupIngress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future revokeSecurityGroupIngressAsync( final RevokeSecurityGroupIngressRequest revokeSecurityGroupIngressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { revokeSecurityGroupIngress(revokeSecurityGroupIngressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(revokeSecurityGroupIngressRequest, null); return null; } }); } /** *

* Deletes a VPC peering connection. Either the owner of the requester * VPC or the owner of the peer VPC can delete the VPC peering connection * if it's in the active state. The owner of the requester * VPC can delete a VPC peering connection in the * pending-acceptance state. *

* * @param deleteVpcPeeringConnectionRequest Container for the necessary * parameters to execute the DeleteVpcPeeringConnection operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpcPeeringConnectionAsync(final DeleteVpcPeeringConnectionRequest deleteVpcPeeringConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteVpcPeeringConnectionResult call() throws Exception { return deleteVpcPeeringConnection(deleteVpcPeeringConnectionRequest); } }); } /** *

* Deletes a VPC peering connection. Either the owner of the requester * VPC or the owner of the peer VPC can delete the VPC peering connection * if it's in the active state. The owner of the requester * VPC can delete a VPC peering connection in the * pending-acceptance state. *

* * @param deleteVpcPeeringConnectionRequest Container for the necessary * parameters to execute the DeleteVpcPeeringConnection operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVpcPeeringConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpcPeeringConnectionAsync( final DeleteVpcPeeringConnectionRequest deleteVpcPeeringConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteVpcPeeringConnectionResult call() throws Exception { DeleteVpcPeeringConnectionResult result; try { result = deleteVpcPeeringConnection(deleteVpcPeeringConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpcPeeringConnectionRequest, result); return result; } }); } /** *

* Gets the console output for the specified instance. *

*

* Instances do not have a physical monitor through which you can view * their console output. They also lack physical controls that allow you * to power up, reboot, or shut them down. To allow these actions, we * provide them through the Amazon EC2 API and command line interface. *

*

* Instance console output is buffered and posted shortly after instance * boot, reboot, and termination. Amazon EC2 preserves the most recent 64 * KB output which is available for at least one hour after the most * recent post. *

*

* For Linux/Unix instances, the instance console output displays the * exact console output that would normally be displayed on a physical * monitor attached to a machine. This output is buffered because the * instance produces it and then posts it to a store where the instance's * owner can retrieve it. *

*

* For Windows instances, the instance console output displays the last * three system event log errors. *

* * @param getConsoleOutputRequest Container for the necessary parameters * to execute the GetConsoleOutput operation on AmazonEC2. * * @return A Java Future object containing the response from the * GetConsoleOutput service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future getConsoleOutputAsync(final GetConsoleOutputRequest getConsoleOutputRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetConsoleOutputResult call() throws Exception { return getConsoleOutput(getConsoleOutputRequest); } }); } /** *

* Gets the console output for the specified instance. *

*

* Instances do not have a physical monitor through which you can view * their console output. They also lack physical controls that allow you * to power up, reboot, or shut them down. To allow these actions, we * provide them through the Amazon EC2 API and command line interface. *

*

* Instance console output is buffered and posted shortly after instance * boot, reboot, and termination. Amazon EC2 preserves the most recent 64 * KB output which is available for at least one hour after the most * recent post. *

*

* For Linux/Unix instances, the instance console output displays the * exact console output that would normally be displayed on a physical * monitor attached to a machine. This output is buffered because the * instance produces it and then posts it to a store where the instance's * owner can retrieve it. *

*

* For Windows instances, the instance console output displays the last * three system event log errors. *

* * @param getConsoleOutputRequest Container for the necessary parameters * to execute the GetConsoleOutput operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetConsoleOutput service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future getConsoleOutputAsync( final GetConsoleOutputRequest getConsoleOutputRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetConsoleOutputResult call() throws Exception { GetConsoleOutputResult result; try { result = getConsoleOutput(getConsoleOutputRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getConsoleOutputRequest, result); return result; } }); } /** *

* Creates an Internet gateway for use with a VPC. After creating the * Internet gateway, you attach it to a VPC using AttachInternetGateway. *

*

* For more information about your VPC and Internet gateway, see the * Amazon Virtual Private Cloud User Guide * . *

* * @param createInternetGatewayRequest Container for the necessary * parameters to execute the CreateInternetGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createInternetGatewayAsync(final CreateInternetGatewayRequest createInternetGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInternetGatewayResult call() throws Exception { return createInternetGateway(createInternetGatewayRequest); } }); } /** *

* Creates an Internet gateway for use with a VPC. After creating the * Internet gateway, you attach it to a VPC using AttachInternetGateway. *

*

* For more information about your VPC and Internet gateway, see the * Amazon Virtual Private Cloud User Guide * . *

* * @param createInternetGatewayRequest Container for the necessary * parameters to execute the CreateInternetGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createInternetGatewayAsync( final CreateInternetGatewayRequest createInternetGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInternetGatewayResult call() throws Exception { CreateInternetGatewayResult result; try { result = createInternetGateway(createInternetGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createInternetGatewayRequest, result); return result; } }); } /** *

* Deletes the specified static route associated with a VPN connection * between an existing virtual private gateway and a VPN customer * gateway. The static route allows traffic to be routed from the virtual * private gateway to the VPN customer gateway. *

* * @param deleteVpnConnectionRouteRequest Container for the necessary * parameters to execute the DeleteVpnConnectionRoute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVpnConnectionRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnConnectionRouteAsync(final DeleteVpnConnectionRouteRequest deleteVpnConnectionRouteRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVpnConnectionRoute(deleteVpnConnectionRouteRequest); return null; } }); } /** *

* Deletes the specified static route associated with a VPN connection * between an existing virtual private gateway and a VPN customer * gateway. The static route allows traffic to be routed from the virtual * private gateway to the VPN customer gateway. *

* * @param deleteVpnConnectionRouteRequest Container for the necessary * parameters to execute the DeleteVpnConnectionRoute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVpnConnectionRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnConnectionRouteAsync( final DeleteVpnConnectionRouteRequest deleteVpnConnectionRouteRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVpnConnectionRoute(deleteVpnConnectionRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpnConnectionRouteRequest, null); return null; } }); } /** *

* Detaches a network interface from an instance. *

* * @param detachNetworkInterfaceRequest Container for the necessary * parameters to execute the DetachNetworkInterface operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DetachNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachNetworkInterfaceAsync(final DetachNetworkInterfaceRequest detachNetworkInterfaceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { detachNetworkInterface(detachNetworkInterfaceRequest); return null; } }); } /** *

* Detaches a network interface from an instance. *

* * @param detachNetworkInterfaceRequest Container for the necessary * parameters to execute the DetachNetworkInterface operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DetachNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachNetworkInterfaceAsync( final DetachNetworkInterfaceRequest detachNetworkInterfaceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { detachNetworkInterface(detachNetworkInterfaceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachNetworkInterfaceRequest, null); return null; } }); } /** *

* Modifies the specified attribute of the specified AMI. You can specify * only one attribute at a time. *

*

* NOTE: AWS Marketplace product codes cannot be modified. Images * with an AWS Marketplace product code cannot be made public. *

* * @param modifyImageAttributeRequest Container for the necessary * parameters to execute the ModifyImageAttribute operation on AmazonEC2. * * @return A Java Future object containing the response from the * ModifyImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyImageAttributeAsync(final ModifyImageAttributeRequest modifyImageAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifyImageAttribute(modifyImageAttributeRequest); return null; } }); } /** *

* Modifies the specified attribute of the specified AMI. You can specify * only one attribute at a time. *

*

* NOTE: AWS Marketplace product codes cannot be modified. Images * with an AWS Marketplace product code cannot be made public. *

* * @param modifyImageAttributeRequest Container for the necessary * parameters to execute the ModifyImageAttribute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyImageAttributeAsync( final ModifyImageAttributeRequest modifyImageAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyImageAttribute(modifyImageAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyImageAttributeRequest, null); return null; } }); } /** *

* Provides information to AWS about your VPN customer gateway device. * The customer gateway is the appliance at your end of the VPN * connection. (The device on the AWS side of the VPN connection is the * virtual private gateway.) You must provide the Internet-routable IP * address of the customer gateway's external interface. The IP address * must be static and can't be behind a device performing network address * translation (NAT). *

*

* For devices that use Border Gateway Protocol (BGP), you can also * provide the device's BGP Autonomous System Number (ASN). You can use * an existing ASN assigned to your network. If you don't have an ASN * already, you can use a private ASN (in the 64512 - 65534 range). *

*

* NOTE: Amazon EC2 supports all 2-byte ASN numbers in the range * of 1 - 65534, with the exception of 7224, which is reserved in the * us-east-1 region, and 9059, which is reserved in the eu-west-1 region. *

*

* For more information about VPN customer gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createCustomerGatewayRequest Container for the necessary * parameters to execute the CreateCustomerGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateCustomerGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createCustomerGatewayAsync(final CreateCustomerGatewayRequest createCustomerGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCustomerGatewayResult call() throws Exception { return createCustomerGateway(createCustomerGatewayRequest); } }); } /** *

* Provides information to AWS about your VPN customer gateway device. * The customer gateway is the appliance at your end of the VPN * connection. (The device on the AWS side of the VPN connection is the * virtual private gateway.) You must provide the Internet-routable IP * address of the customer gateway's external interface. The IP address * must be static and can't be behind a device performing network address * translation (NAT). *

*

* For devices that use Border Gateway Protocol (BGP), you can also * provide the device's BGP Autonomous System Number (ASN). You can use * an existing ASN assigned to your network. If you don't have an ASN * already, you can use a private ASN (in the 64512 - 65534 range). *

*

* NOTE: Amazon EC2 supports all 2-byte ASN numbers in the range * of 1 - 65534, with the exception of 7224, which is reserved in the * us-east-1 region, and 9059, which is reserved in the eu-west-1 region. *

*

* For more information about VPN customer gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createCustomerGatewayRequest Container for the necessary * parameters to execute the CreateCustomerGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateCustomerGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createCustomerGatewayAsync( final CreateCustomerGatewayRequest createCustomerGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCustomerGatewayResult call() throws Exception { CreateCustomerGatewayResult result; try { result = createCustomerGateway(createCustomerGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createCustomerGatewayRequest, result); return result; } }); } /** *

* Creates a datafeed for Spot Instances, enabling you to view Spot * Instance usage logs. You can create one data feed per AWS account. For * more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the CreateSpotDatafeedSubscription * operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSpotDatafeedSubscriptionAsync(final CreateSpotDatafeedSubscriptionRequest createSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSpotDatafeedSubscriptionResult call() throws Exception { return createSpotDatafeedSubscription(createSpotDatafeedSubscriptionRequest); } }); } /** *

* Creates a datafeed for Spot Instances, enabling you to view Spot * Instance usage logs. You can create one data feed per AWS account. For * more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the CreateSpotDatafeedSubscription * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSpotDatafeedSubscriptionAsync( final CreateSpotDatafeedSubscriptionRequest createSpotDatafeedSubscriptionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSpotDatafeedSubscriptionResult call() throws Exception { CreateSpotDatafeedSubscriptionResult result; try { result = createSpotDatafeedSubscription(createSpotDatafeedSubscriptionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSpotDatafeedSubscriptionRequest, result); return result; } }); } /** *

* Attaches an Internet gateway to a VPC, enabling connectivity between * the Internet and the VPC. For more information about your VPC and * Internet gateway, see the * Amazon Virtual Private Cloud User Guide * . *

* * @param attachInternetGatewayRequest Container for the necessary * parameters to execute the AttachInternetGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * AttachInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachInternetGatewayAsync(final AttachInternetGatewayRequest attachInternetGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { attachInternetGateway(attachInternetGatewayRequest); return null; } }); } /** *

* Attaches an Internet gateway to a VPC, enabling connectivity between * the Internet and the VPC. For more information about your VPC and * Internet gateway, see the * Amazon Virtual Private Cloud User Guide * . *

* * @param attachInternetGatewayRequest Container for the necessary * parameters to execute the AttachInternetGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AttachInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachInternetGatewayAsync( final AttachInternetGatewayRequest attachInternetGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { attachInternetGateway(attachInternetGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachInternetGatewayRequest, null); return null; } }); } /** *

* Deletes the specified VPN connection. *

*

* If you're deleting the VPC and its associated components, we recommend * that you detach the virtual private gateway from the VPC and delete * the VPC before deleting the VPN connection. *

* * @param deleteVpnConnectionRequest Container for the necessary * parameters to execute the DeleteVpnConnection operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVpnConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnConnectionAsync(final DeleteVpnConnectionRequest deleteVpnConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVpnConnection(deleteVpnConnectionRequest); return null; } }); } /** *

* Deletes the specified VPN connection. *

*

* If you're deleting the VPC and its associated components, we recommend * that you detach the virtual private gateway from the VPC and delete * the VPC before deleting the VPN connection. *

* * @param deleteVpnConnectionRequest Container for the necessary * parameters to execute the DeleteVpnConnection operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVpnConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpnConnectionAsync( final DeleteVpnConnectionRequest deleteVpnConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVpnConnection(deleteVpnConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpnConnectionRequest, null); return null; } }); } /** *

* Describes one or more of your conversion tasks. For more information, * see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeConversionTasksRequest Container for the necessary * parameters to execute the DescribeConversionTasks operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeConversionTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeConversionTasksAsync(final DescribeConversionTasksRequest describeConversionTasksRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeConversionTasksResult call() throws Exception { return describeConversionTasks(describeConversionTasksRequest); } }); } /** *

* Describes one or more of your conversion tasks. For more information, * see * Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeConversionTasksRequest Container for the necessary * parameters to execute the DescribeConversionTasks operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeConversionTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeConversionTasksAsync( final DescribeConversionTasksRequest describeConversionTasksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeConversionTasksResult call() throws Exception { DescribeConversionTasksResult result; try { result = describeConversionTasks(describeConversionTasksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeConversionTasksRequest, result); return result; } }); } /** *

* Creates a VPN connection between an existing virtual private gateway * and a VPN customer gateway. The only supported connection type is * ipsec.1 . *

*

* The response includes information that you need to give to your * network administrator to configure your customer gateway. *

*

* IMPORTANT: We strongly recommend that you use HTTPS when * calling this operation because the response contains sensitive * cryptographic information for configuring your customer gateway. *

*

* If you decide to shut down your VPN connection for any reason and * later create a new VPN connection, you must reconfigure your customer * gateway with the new information returned from this call. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnConnectionRequest Container for the necessary * parameters to execute the CreateVpnConnection operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateVpnConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnConnectionAsync(final CreateVpnConnectionRequest createVpnConnectionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpnConnectionResult call() throws Exception { return createVpnConnection(createVpnConnectionRequest); } }); } /** *

* Creates a VPN connection between an existing virtual private gateway * and a VPN customer gateway. The only supported connection type is * ipsec.1 . *

*

* The response includes information that you need to give to your * network administrator to configure your customer gateway. *

*

* IMPORTANT: We strongly recommend that you use HTTPS when * calling this operation because the response contains sensitive * cryptographic information for configuring your customer gateway. *

*

* If you decide to shut down your VPN connection for any reason and * later create a new VPN connection, you must reconfigure your customer * gateway with the new information returned from this call. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnConnectionRequest Container for the necessary * parameters to execute the CreateVpnConnection operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVpnConnection service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnConnectionAsync( final CreateVpnConnectionRequest createVpnConnectionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpnConnectionResult call() throws Exception { CreateVpnConnectionResult result; try { result = createVpnConnection(createVpnConnectionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpnConnectionRequest, result); return result; } }); } /** *

* Describes the specified attribute of the specified instance. You can * specify only one attribute at a time. *

* * @param describeInstanceAttributeRequest Container for the necessary * parameters to execute the DescribeInstanceAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceAttributeAsync(final DescribeInstanceAttributeRequest describeInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceAttributeResult call() throws Exception { return describeInstanceAttribute(describeInstanceAttributeRequest); } }); } /** *

* Describes the specified attribute of the specified instance. You can * specify only one attribute at a time. *

* * @param describeInstanceAttributeRequest Container for the necessary * parameters to execute the DescribeInstanceAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceAttributeAsync( final DescribeInstanceAttributeRequest describeInstanceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceAttributeResult call() throws Exception { DescribeInstanceAttributeResult result; try { result = describeInstanceAttribute(describeInstanceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeInstanceAttributeRequest, result); return result; } }); } /** *

* Describes one or more of your VPC peering connections. *

* * @param describeVpcPeeringConnectionsRequest Container for the * necessary parameters to execute the DescribeVpcPeeringConnections * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVpcPeeringConnections service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcPeeringConnectionsAsync(final DescribeVpcPeeringConnectionsRequest describeVpcPeeringConnectionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcPeeringConnectionsResult call() throws Exception { return describeVpcPeeringConnections(describeVpcPeeringConnectionsRequest); } }); } /** *

* Describes one or more of your VPC peering connections. *

* * @param describeVpcPeeringConnectionsRequest Container for the * necessary parameters to execute the DescribeVpcPeeringConnections * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVpcPeeringConnections service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcPeeringConnectionsAsync( final DescribeVpcPeeringConnectionsRequest describeVpcPeeringConnectionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcPeeringConnectionsResult call() throws Exception { DescribeVpcPeeringConnectionsResult result; try { result = describeVpcPeeringConnections(describeVpcPeeringConnectionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcPeeringConnectionsRequest, result); return result; } }); } /** *

* Describes one or more of your subnets. *

*

* For more information about subnets, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeSubnetsRequest Container for the necessary parameters * to execute the DescribeSubnets operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSubnets service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSubnetsAsync(final DescribeSubnetsRequest describeSubnetsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSubnetsResult call() throws Exception { return describeSubnets(describeSubnetsRequest); } }); } /** *

* Describes one or more of your subnets. *

*

* For more information about subnets, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeSubnetsRequest Container for the necessary parameters * to execute the DescribeSubnets operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSubnets service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSubnetsAsync( final DescribeSubnetsRequest describeSubnetsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSubnetsResult call() throws Exception { DescribeSubnetsResult result; try { result = describeSubnets(describeSubnetsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSubnetsRequest, result); return result; } }); } /** *

* Launches the specified number of instances using an AMI for which you * have permissions. *

*

* When you launch an instance, it enters the pending state. * After the instance is ready for you, it enters the * running state. To check the state of your instance, call * DescribeInstances. *

*

* If you don't specify a security group when launching an instance, * Amazon EC2 uses the default security group. For more information, see * Security Groups * in the Amazon Elastic Compute Cloud User Guide . *

*

* Linux instances have access to the public key of the key pair at boot. * You can use this key to provide secure access to the instance. Amazon * EC2 public images use this feature to provide secure access without * passwords. For more information, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

*

* You can provide optional user data when launching an instance. For * more information, see * Instance Metadata * in the Amazon Elastic Compute Cloud User Guide . *

*

* If any of the AMIs have a product code attached for which the user has * not subscribed, RunInstances fails. *

* * @param runInstancesRequest Container for the necessary parameters to * execute the RunInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * RunInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future runInstancesAsync(final RunInstancesRequest runInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RunInstancesResult call() throws Exception { return runInstances(runInstancesRequest); } }); } /** *

* Launches the specified number of instances using an AMI for which you * have permissions. *

*

* When you launch an instance, it enters the pending state. * After the instance is ready for you, it enters the * running state. To check the state of your instance, call * DescribeInstances. *

*

* If you don't specify a security group when launching an instance, * Amazon EC2 uses the default security group. For more information, see * Security Groups * in the Amazon Elastic Compute Cloud User Guide . *

*

* Linux instances have access to the public key of the key pair at boot. * You can use this key to provide secure access to the instance. Amazon * EC2 public images use this feature to provide secure access without * passwords. For more information, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

*

* You can provide optional user data when launching an instance. For * more information, see * Instance Metadata * in the Amazon Elastic Compute Cloud User Guide . *

*

* If any of the AMIs have a product code attached for which the user has * not subscribed, RunInstances fails. *

* * @param runInstancesRequest Container for the necessary parameters to * execute the RunInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RunInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future runInstancesAsync( final RunInstancesRequest runInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RunInstancesResult call() throws Exception { RunInstancesResult result; try { result = runInstances(runInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(runInstancesRequest, result); return result; } }); } /** *

* Describes one or more of your placement groups. For more information * about placement groups and cluster instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describePlacementGroupsRequest Container for the necessary * parameters to execute the DescribePlacementGroups operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribePlacementGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describePlacementGroupsAsync(final DescribePlacementGroupsRequest describePlacementGroupsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribePlacementGroupsResult call() throws Exception { return describePlacementGroups(describePlacementGroupsRequest); } }); } /** *

* Describes one or more of your placement groups. For more information * about placement groups and cluster instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describePlacementGroupsRequest Container for the necessary * parameters to execute the DescribePlacementGroups operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribePlacementGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describePlacementGroupsAsync( final DescribePlacementGroupsRequest describePlacementGroupsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribePlacementGroupsResult call() throws Exception { DescribePlacementGroupsResult result; try { result = describePlacementGroups(describePlacementGroupsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describePlacementGroupsRequest, result); return result; } }); } /** *

* Associates a subnet with a route table. The subnet and route table * must be in the same VPC. This association causes traffic originating * from the subnet to be routed according to the routes in the route * table. The action returns an association ID, which you need in order * to disassociate the route table from the subnet later. A route table * can be associated with multiple subnets. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param associateRouteTableRequest Container for the necessary * parameters to execute the AssociateRouteTable operation on AmazonEC2. * * @return A Java Future object containing the response from the * AssociateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateRouteTableAsync(final AssociateRouteTableRequest associateRouteTableRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AssociateRouteTableResult call() throws Exception { return associateRouteTable(associateRouteTableRequest); } }); } /** *

* Associates a subnet with a route table. The subnet and route table * must be in the same VPC. This association causes traffic originating * from the subnet to be routed according to the routes in the route * table. The action returns an association ID, which you need in order * to disassociate the route table from the subnet later. A route table * can be associated with multiple subnets. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param associateRouteTableRequest Container for the necessary * parameters to execute the AssociateRouteTable operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AssociateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future associateRouteTableAsync( final AssociateRouteTableRequest associateRouteTableRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AssociateRouteTableResult call() throws Exception { AssociateRouteTableResult result; try { result = associateRouteTable(associateRouteTableRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(associateRouteTableRequest, result); return result; } }); } /** *

* Describes one or more of your instances. *

*

* If you specify one or more instance IDs, Amazon EC2 returns * information for those instances. If you do not specify instance IDs, * Amazon EC2 returns information for all relevant instances. If you * specify an instance ID that is not valid, an error is returned. If you * specify an instance that you do not own, it is not included in the * returned results. *

*

* Recently terminated instances might appear in the returned results. * This interval is usually less than one hour. *

* * @param describeInstancesRequest Container for the necessary parameters * to execute the DescribeInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstancesAsync(final DescribeInstancesRequest describeInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstancesResult call() throws Exception { return describeInstances(describeInstancesRequest); } }); } /** *

* Describes one or more of your instances. *

*

* If you specify one or more instance IDs, Amazon EC2 returns * information for those instances. If you do not specify instance IDs, * Amazon EC2 returns information for all relevant instances. If you * specify an instance ID that is not valid, an error is returned. If you * specify an instance that you do not own, it is not included in the * returned results. *

*

* Recently terminated instances might appear in the returned results. * This interval is usually less than one hour. *

* * @param describeInstancesRequest Container for the necessary parameters * to execute the DescribeInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstancesAsync( final DescribeInstancesRequest describeInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstancesResult call() throws Exception { DescribeInstancesResult result; try { result = describeInstances(describeInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeInstancesRequest, result); return result; } }); } /** *

* Deletes the specified network ACL. You can't delete the ACL if it's * associated with any subnets. You can't delete the default network ACL. *

* * @param deleteNetworkAclRequest Container for the necessary parameters * to execute the DeleteNetworkAcl operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteNetworkAcl service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkAclAsync(final DeleteNetworkAclRequest deleteNetworkAclRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteNetworkAcl(deleteNetworkAclRequest); return null; } }); } /** *

* Deletes the specified network ACL. You can't delete the ACL if it's * associated with any subnets. You can't delete the default network ACL. *

* * @param deleteNetworkAclRequest Container for the necessary parameters * to execute the DeleteNetworkAcl operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteNetworkAcl service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkAclAsync( final DeleteNetworkAclRequest deleteNetworkAclRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteNetworkAcl(deleteNetworkAclRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteNetworkAclRequest, null); return null; } }); } /** *

* Modifies a volume attribute. *

*

* By default, all I/O operations for the volume are suspended when the * data on the volume is determined to be potentially inconsistent, to * prevent undetectable, latent data corruption. The I/O access to the * volume can be resumed by first enabling I/O access and then checking * the data consistency on your volume. *

*

* You can change the default behavior to resume I/O operations. We * recommend that you change this only for boot volumes or for volumes * that are stateless or disposable. *

* * @param modifyVolumeAttributeRequest Container for the necessary * parameters to execute the ModifyVolumeAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ModifyVolumeAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyVolumeAttributeAsync(final ModifyVolumeAttributeRequest modifyVolumeAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifyVolumeAttribute(modifyVolumeAttributeRequest); return null; } }); } /** *

* Modifies a volume attribute. *

*

* By default, all I/O operations for the volume are suspended when the * data on the volume is determined to be potentially inconsistent, to * prevent undetectable, latent data corruption. The I/O access to the * volume can be resumed by first enabling I/O access and then checking * the data consistency on your volume. *

*

* You can change the default behavior to resume I/O operations. We * recommend that you change this only for boot volumes or for volumes * that are stateless or disposable. *

* * @param modifyVolumeAttributeRequest Container for the necessary * parameters to execute the ModifyVolumeAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyVolumeAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyVolumeAttributeAsync( final ModifyVolumeAttributeRequest modifyVolumeAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyVolumeAttribute(modifyVolumeAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyVolumeAttributeRequest, null); return null; } }); } /** *

* Describes one or more of the images (AMIs, AKIs, and ARIs) available * to you. Images available to you include public images, private images * that you own, and private images owned by other AWS accounts but for * which you have explicit launch permissions. *

*

* NOTE: Deregistered images are included in the returned results * for an unspecified interval after deregistration. *

* * @param describeImagesRequest Container for the necessary parameters to * execute the DescribeImages operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeImages service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImagesAsync(final DescribeImagesRequest describeImagesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImagesResult call() throws Exception { return describeImages(describeImagesRequest); } }); } /** *

* Describes one or more of the images (AMIs, AKIs, and ARIs) available * to you. Images available to you include public images, private images * that you own, and private images owned by other AWS accounts but for * which you have explicit launch permissions. *

*

* NOTE: Deregistered images are included in the returned results * for an unspecified interval after deregistration. *

* * @param describeImagesRequest Container for the necessary parameters to * execute the DescribeImages operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeImages service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImagesAsync( final DescribeImagesRequest describeImagesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImagesResult call() throws Exception { DescribeImagesResult result; try { result = describeImages(describeImagesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeImagesRequest, result); return result; } }); } /** *

* Starts an Amazon EBS-backed AMI that you've previously stopped. *

*

* Instances that use Amazon EBS volumes as their root devices can be * quickly stopped and started. When an instance is stopped, the compute * resources are released and you are not billed for hourly instance * usage. However, your root partition Amazon EBS volume remains, * continues to persist your data, and you are charged for Amazon EBS * volume usage. You can restart your instance at any time. Each time you * transition an instance from stopped to started, Amazon EC2 charges a * full instance hour, even if transitions happen multiple times within a * single hour. *

*

* Before stopping an instance, make sure it is in a state from which it * can be restarted. Stopping an instance does not preserve data stored * in RAM. *

*

* Performing this operation on an instance that uses an instance store * as its root device returns an error. *

*

* For more information, see * Stopping Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param startInstancesRequest Container for the necessary parameters to * execute the StartInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * StartInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future startInstancesAsync(final StartInstancesRequest startInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartInstancesResult call() throws Exception { return startInstances(startInstancesRequest); } }); } /** *

* Starts an Amazon EBS-backed AMI that you've previously stopped. *

*

* Instances that use Amazon EBS volumes as their root devices can be * quickly stopped and started. When an instance is stopped, the compute * resources are released and you are not billed for hourly instance * usage. However, your root partition Amazon EBS volume remains, * continues to persist your data, and you are charged for Amazon EBS * volume usage. You can restart your instance at any time. Each time you * transition an instance from stopped to started, Amazon EC2 charges a * full instance hour, even if transitions happen multiple times within a * single hour. *

*

* Before stopping an instance, make sure it is in a state from which it * can be restarted. Stopping an instance does not preserve data stored * in RAM. *

*

* Performing this operation on an instance that uses an instance store * as its root device returns an error. *

*

* For more information, see * Stopping Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param startInstancesRequest Container for the necessary parameters to * execute the StartInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * StartInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future startInstancesAsync( final StartInstancesRequest startInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartInstancesResult call() throws Exception { StartInstancesResult result; try { result = startInstances(startInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(startInstancesRequest, result); return result; } }); } /** *

* Cancels the specified Reserved Instance listing in the Reserved * Instance Marketplace. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param cancelReservedInstancesListingRequest Container for the * necessary parameters to execute the CancelReservedInstancesListing * operation on AmazonEC2. * * @return A Java Future object containing the response from the * CancelReservedInstancesListing service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelReservedInstancesListingAsync(final CancelReservedInstancesListingRequest cancelReservedInstancesListingRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelReservedInstancesListingResult call() throws Exception { return cancelReservedInstancesListing(cancelReservedInstancesListingRequest); } }); } /** *

* Cancels the specified Reserved Instance listing in the Reserved * Instance Marketplace. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param cancelReservedInstancesListingRequest Container for the * necessary parameters to execute the CancelReservedInstancesListing * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelReservedInstancesListing service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelReservedInstancesListingAsync( final CancelReservedInstancesListingRequest cancelReservedInstancesListingRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelReservedInstancesListingResult call() throws Exception { CancelReservedInstancesListingResult result; try { result = cancelReservedInstancesListing(cancelReservedInstancesListingRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelReservedInstancesListingRequest, result); return result; } }); } /** *

* Modifies the specified attribute of the specified instance. You can * specify only one attribute at a time. *

*

* To modify some attributes, the instance must be stopped. For more * information, see * Modifying Attributes of a Stopped Instance * in the Amazon Elastic Compute Cloud User Guide . *

* * @param modifyInstanceAttributeRequest Container for the necessary * parameters to execute the ModifyInstanceAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ModifyInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyInstanceAttributeAsync(final ModifyInstanceAttributeRequest modifyInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifyInstanceAttribute(modifyInstanceAttributeRequest); return null; } }); } /** *

* Modifies the specified attribute of the specified instance. You can * specify only one attribute at a time. *

*

* To modify some attributes, the instance must be stopped. For more * information, see * Modifying Attributes of a Stopped Instance * in the Amazon Elastic Compute Cloud User Guide . *

* * @param modifyInstanceAttributeRequest Container for the necessary * parameters to execute the ModifyInstanceAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyInstanceAttributeAsync( final ModifyInstanceAttributeRequest modifyInstanceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyInstanceAttribute(modifyInstanceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyInstanceAttributeRequest, null); return null; } }); } /** *

* Deletes the specified set of DHCP options. You must disassociate the * set of DHCP options before you can delete it. You can disassociate the * set of DHCP options by associating either a new set of options or the * default set of options with the VPC. *

* * @param deleteDhcpOptionsRequest Container for the necessary parameters * to execute the DeleteDhcpOptions operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteDhcpOptionsAsync(final DeleteDhcpOptionsRequest deleteDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteDhcpOptions(deleteDhcpOptionsRequest); return null; } }); } /** *

* Deletes the specified set of DHCP options. You must disassociate the * set of DHCP options before you can delete it. You can disassociate the * set of DHCP options by associating either a new set of options or the * default set of options with the VPC. *

* * @param deleteDhcpOptionsRequest Container for the necessary parameters * to execute the DeleteDhcpOptions operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteDhcpOptions service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteDhcpOptionsAsync( final DeleteDhcpOptionsRequest deleteDhcpOptionsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteDhcpOptions(deleteDhcpOptionsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteDhcpOptionsRequest, null); return null; } }); } /** *

* Adds one or more ingress rules to a security group. *

*

* IMPORTANT: EC2-Classic: You can have up to 100 rules per group. * EC2-VPC: You can have up to 50 rules per group (covering both ingress * and egress rules). *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

*

* [EC2-Classic] This action gives one or more CIDR IP address ranges * permission to access a security group in your account, or gives one or * more security groups (called the source groups ) permission to * access a security group for your account. A source group can be for * your own AWS account, or another. *

*

* [EC2-VPC] This action gives one or more CIDR IP address ranges * permission to access a security group in your VPC, or gives one or * more other security groups (called the source groups ) * permission to access a security group for your VPC. The security * groups must all be for the same VPC. *

* * @param authorizeSecurityGroupIngressRequest Container for the * necessary parameters to execute the AuthorizeSecurityGroupIngress * operation on AmazonEC2. * * @return A Java Future object containing the response from the * AuthorizeSecurityGroupIngress service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future authorizeSecurityGroupIngressAsync(final AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { authorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest); return null; } }); } /** *

* Adds one or more ingress rules to a security group. *

*

* IMPORTANT: EC2-Classic: You can have up to 100 rules per group. * EC2-VPC: You can have up to 50 rules per group (covering both ingress * and egress rules). *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

*

* [EC2-Classic] This action gives one or more CIDR IP address ranges * permission to access a security group in your account, or gives one or * more security groups (called the source groups ) permission to * access a security group for your account. A source group can be for * your own AWS account, or another. *

*

* [EC2-VPC] This action gives one or more CIDR IP address ranges * permission to access a security group in your VPC, or gives one or * more other security groups (called the source groups ) * permission to access a security group for your VPC. The security * groups must all be for the same VPC. *

* * @param authorizeSecurityGroupIngressRequest Container for the * necessary parameters to execute the AuthorizeSecurityGroupIngress * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AuthorizeSecurityGroupIngress service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future authorizeSecurityGroupIngressAsync( final AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { authorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(authorizeSecurityGroupIngressRequest, null); return null; } }); } /** *

* Describes the Spot Instance requests that belong to your account. Spot * Instances are instances that Amazon EC2 starts on your behalf when the * maximum price that you specify exceeds the current Spot Price. Amazon * EC2 periodically sets the Spot Price based on available Spot Instance * capacity and current Spot Instance requests. For more information * about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* You can use DescribeSpotInstanceRequests to find a * running Spot Instance by examining the response. If the status of the * Spot Instance is fulfilled , the instance ID appears in * the response and contains the identifier of the instance. * Alternatively, you can use DescribeInstances with a filter to look for * instances where the instance lifecycle is spot . *

* * @param describeSpotInstanceRequestsRequest Container for the necessary * parameters to execute the DescribeSpotInstanceRequests operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSpotInstanceRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotInstanceRequestsAsync(final DescribeSpotInstanceRequestsRequest describeSpotInstanceRequestsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotInstanceRequestsResult call() throws Exception { return describeSpotInstanceRequests(describeSpotInstanceRequestsRequest); } }); } /** *

* Describes the Spot Instance requests that belong to your account. Spot * Instances are instances that Amazon EC2 starts on your behalf when the * maximum price that you specify exceeds the current Spot Price. Amazon * EC2 periodically sets the Spot Price based on available Spot Instance * capacity and current Spot Instance requests. For more information * about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* You can use DescribeSpotInstanceRequests to find a * running Spot Instance by examining the response. If the status of the * Spot Instance is fulfilled , the instance ID appears in * the response and contains the identifier of the instance. * Alternatively, you can use DescribeInstances with a filter to look for * instances where the instance lifecycle is spot . *

* * @param describeSpotInstanceRequestsRequest Container for the necessary * parameters to execute the DescribeSpotInstanceRequests operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSpotInstanceRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotInstanceRequestsAsync( final DescribeSpotInstanceRequestsRequest describeSpotInstanceRequestsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotInstanceRequestsResult call() throws Exception { DescribeSpotInstanceRequestsResult result; try { result = describeSpotInstanceRequests(describeSpotInstanceRequestsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotInstanceRequestsRequest, result); return result; } }); } /** *

* Creates a VPC with the specified CIDR block. *

*

* The smallest VPC you can create uses a /28 netmask (16 IP addresses), * and the largest uses a /16 netmask (65,536 IP addresses). To help you * decide how big to make your VPC, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

*

* By default, each instance you launch in the VPC has the default DHCP * options, which includes only a default DNS server that we provide * (AmazonProvidedDNS). For more information about DHCP options, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpcRequest Container for the necessary parameters to * execute the CreateVpc operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpcAsync(final CreateVpcRequest createVpcRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpcResult call() throws Exception { return createVpc(createVpcRequest); } }); } /** *

* Creates a VPC with the specified CIDR block. *

*

* The smallest VPC you can create uses a /28 netmask (16 IP addresses), * and the largest uses a /16 netmask (65,536 IP addresses). To help you * decide how big to make your VPC, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

*

* By default, each instance you launch in the VPC has the default DHCP * options, which includes only a default DNS server that we provide * (AmazonProvidedDNS). For more information about DHCP options, see * DHCP Options Sets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpcRequest Container for the necessary parameters to * execute the CreateVpc operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpcAsync( final CreateVpcRequest createVpcRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpcResult call() throws Exception { CreateVpcResult result; try { result = createVpc(createVpcRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpcRequest, result); return result; } }); } /** *

* Describes one or more of your VPN customer gateways. *

*

* For more information about VPN customer gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeCustomerGatewaysRequest Container for the necessary * parameters to execute the DescribeCustomerGateways operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeCustomerGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCustomerGatewaysAsync(final DescribeCustomerGatewaysRequest describeCustomerGatewaysRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCustomerGatewaysResult call() throws Exception { return describeCustomerGateways(describeCustomerGatewaysRequest); } }); } /** *

* Describes one or more of your VPN customer gateways. *

*

* For more information about VPN customer gateways, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeCustomerGatewaysRequest Container for the necessary * parameters to execute the DescribeCustomerGateways operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeCustomerGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCustomerGatewaysAsync( final DescribeCustomerGatewaysRequest describeCustomerGatewaysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCustomerGatewaysResult call() throws Exception { DescribeCustomerGatewaysResult result; try { result = describeCustomerGateways(describeCustomerGatewaysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeCustomerGatewaysRequest, result); return result; } }); } /** *

* Cancels an active export task. The request removes all artifacts of * the export, including any partially-created Amazon S3 objects. If the * export task is complete or is in the process of transferring the final * disk image, the command fails and returns an error. *

* * @param cancelExportTaskRequest Container for the necessary parameters * to execute the CancelExportTask operation on AmazonEC2. * * @return A Java Future object containing the response from the * CancelExportTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelExportTaskAsync(final CancelExportTaskRequest cancelExportTaskRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { cancelExportTask(cancelExportTaskRequest); return null; } }); } /** *

* Cancels an active export task. The request removes all artifacts of * the export, including any partially-created Amazon S3 objects. If the * export task is complete or is in the process of transferring the final * disk image, the command fails and returns an error. *

* * @param cancelExportTaskRequest Container for the necessary parameters * to execute the CancelExportTask operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelExportTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelExportTaskAsync( final CancelExportTaskRequest cancelExportTaskRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { cancelExportTask(cancelExportTaskRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelExportTaskRequest, null); return null; } }); } /** *

* Creates a route in a route table within a VPC. *

*

* You must specify one of the following targets: Internet gateway, NAT * instance, VPC peering connection, or network interface. *

*

* When determining how to route traffic, we use the route with the most * specific match. For example, let's say the traffic is destined for * 192.0.2.3 , and the route table includes the following * two routes: *

* *
    *
  • * 192.0.2.0/24 (goes to some target A) *

    *
  • *
  • * 192.0.2.0/28 (goes to some target B) *

    *
  • * *
*

* Both routes apply to the traffic destined for 192.0.2.3 . * However, the second route in the list covers a smaller number of IP * addresses and is therefore more specific, so we use that route to * determine where to target the traffic. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param createRouteRequest Container for the necessary parameters to * execute the CreateRoute operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createRouteAsync(final CreateRouteRequest createRouteRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createRoute(createRouteRequest); return null; } }); } /** *

* Creates a route in a route table within a VPC. *

*

* You must specify one of the following targets: Internet gateway, NAT * instance, VPC peering connection, or network interface. *

*

* When determining how to route traffic, we use the route with the most * specific match. For example, let's say the traffic is destined for * 192.0.2.3 , and the route table includes the following * two routes: *

* *
    *
  • * 192.0.2.0/24 (goes to some target A) *

    *
  • *
  • * 192.0.2.0/28 (goes to some target B) *

    *
  • * *
*

* Both routes apply to the traffic destined for 192.0.2.3 . * However, the second route in the list covers a smaller number of IP * addresses and is therefore more specific, so we use that route to * determine where to target the traffic. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param createRouteRequest Container for the necessary parameters to * execute the CreateRoute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createRouteAsync( final CreateRouteRequest createRouteRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createRoute(createRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createRouteRequest, null); return null; } }); } /** *

* Initiates the copy of an AMI from the specified source region to the * region in which the request was made. *

*

* For more information, see * Copying AMIs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param copyImageRequest Container for the necessary parameters to * execute the CopyImage operation on AmazonEC2. * * @return A Java Future object containing the response from the * CopyImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future copyImageAsync(final CopyImageRequest copyImageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CopyImageResult call() throws Exception { return copyImage(copyImageRequest); } }); } /** *

* Initiates the copy of an AMI from the specified source region to the * region in which the request was made. *

*

* For more information, see * Copying AMIs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param copyImageRequest Container for the necessary parameters to * execute the CopyImage operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CopyImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future copyImageAsync( final CopyImageRequest copyImageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CopyImageResult call() throws Exception { CopyImageResult result; try { result = copyImage(copyImageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(copyImageRequest, result); return result; } }); } /** *

* Modifies the specified network interface attribute. You can specify * only one attribute at a time. *

* * @param modifyNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the ModifyNetworkInterfaceAttribute * operation on AmazonEC2. * * @return A Java Future object containing the response from the * ModifyNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyNetworkInterfaceAttributeAsync(final ModifyNetworkInterfaceAttributeRequest modifyNetworkInterfaceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifyNetworkInterfaceAttribute(modifyNetworkInterfaceAttributeRequest); return null; } }); } /** *

* Modifies the specified network interface attribute. You can specify * only one attribute at a time. *

* * @param modifyNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the ModifyNetworkInterfaceAttribute * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifyNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyNetworkInterfaceAttributeAsync( final ModifyNetworkInterfaceAttributeRequest modifyNetworkInterfaceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyNetworkInterfaceAttribute(modifyNetworkInterfaceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyNetworkInterfaceAttributeRequest, null); return null; } }); } /** *

* Deletes the specified route table. You must disassociate the route * table from any subnets before you can delete it. You can't delete the * main route table. *

* * @param deleteRouteTableRequest Container for the necessary parameters * to execute the DeleteRouteTable operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRouteTableAsync(final DeleteRouteTableRequest deleteRouteTableRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteRouteTable(deleteRouteTableRequest); return null; } }); } /** *

* Deletes the specified route table. You must disassociate the route * table from any subnets before you can delete it. You can't delete the * main route table. *

* * @param deleteRouteTableRequest Container for the necessary parameters * to execute the DeleteRouteTable operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRouteTableAsync( final DeleteRouteTableRequest deleteRouteTableRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteRouteTable(deleteRouteTableRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteRouteTableRequest, null); return null; } }); } /** *

* Describes a network interface attribute. You can specify only one * attribute at a time. *

* * @param describeNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the DescribeNetworkInterfaceAttribute * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkInterfaceAttributeAsync(final DescribeNetworkInterfaceAttributeRequest describeNetworkInterfaceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkInterfaceAttributeResult call() throws Exception { return describeNetworkInterfaceAttribute(describeNetworkInterfaceAttributeRequest); } }); } /** *

* Describes a network interface attribute. You can specify only one * attribute at a time. *

* * @param describeNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the DescribeNetworkInterfaceAttribute * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNetworkInterfaceAttributeAsync( final DescribeNetworkInterfaceAttributeRequest describeNetworkInterfaceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNetworkInterfaceAttributeResult call() throws Exception { DescribeNetworkInterfaceAttributeResult result; try { result = describeNetworkInterfaceAttribute(describeNetworkInterfaceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeNetworkInterfaceAttributeRequest, result); return result; } }); } /** *

* Creates a Spot Instance request. Spot Instances are instances that * Amazon EC2 starts on your behalf when the maximum price that you * specify exceeds the current Spot Price. Amazon EC2 periodically sets * the Spot Price based on available Spot Instance capacity and current * Spot Instance requests. For more information about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param requestSpotInstancesRequest Container for the necessary * parameters to execute the RequestSpotInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * RequestSpotInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future requestSpotInstancesAsync(final RequestSpotInstancesRequest requestSpotInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RequestSpotInstancesResult call() throws Exception { return requestSpotInstances(requestSpotInstancesRequest); } }); } /** *

* Creates a Spot Instance request. Spot Instances are instances that * Amazon EC2 starts on your behalf when the maximum price that you * specify exceeds the current Spot Price. Amazon EC2 periodically sets * the Spot Price based on available Spot Instance capacity and current * Spot Instance requests. For more information about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param requestSpotInstancesRequest Container for the necessary * parameters to execute the RequestSpotInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RequestSpotInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future requestSpotInstancesAsync( final RequestSpotInstancesRequest requestSpotInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RequestSpotInstancesResult call() throws Exception { RequestSpotInstancesResult result; try { result = requestSpotInstances(requestSpotInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(requestSpotInstancesRequest, result); return result; } }); } /** *

* Adds or overwrites one or more tags for the specified EC2 resource or * resources. Each resource can have a maximum of 10 tags. Each tag * consists of a key and optional value. Tag keys must be unique per * resource. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createTagsRequest Container for the necessary parameters to * execute the CreateTags operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createTagsAsync(final CreateTagsRequest createTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createTags(createTagsRequest); return null; } }); } /** *

* Adds or overwrites one or more tags for the specified EC2 resource or * resources. Each resource can have a maximum of 10 tags. Each tag * consists of a key and optional value. Tag keys must be unique per * resource. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createTagsRequest Container for the necessary parameters to * execute the CreateTags operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createTagsAsync( final CreateTagsRequest createTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createTags(createTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createTagsRequest, null); return null; } }); } /** *

* Describes the specified attribute of the specified volume. You can * specify only one attribute at a time. *

*

* For more information about Amazon EBS volumes, see * Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeVolumeAttributeRequest Container for the necessary * parameters to execute the DescribeVolumeAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVolumeAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumeAttributeAsync(final DescribeVolumeAttributeRequest describeVolumeAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumeAttributeResult call() throws Exception { return describeVolumeAttribute(describeVolumeAttributeRequest); } }); } /** *

* Describes the specified attribute of the specified volume. You can * specify only one attribute at a time. *

*

* For more information about Amazon EBS volumes, see * Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeVolumeAttributeRequest Container for the necessary * parameters to execute the DescribeVolumeAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVolumeAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVolumeAttributeAsync( final DescribeVolumeAttributeRequest describeVolumeAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVolumeAttributeResult call() throws Exception { DescribeVolumeAttributeResult result; try { result = describeVolumeAttribute(describeVolumeAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVolumeAttributeRequest, result); return result; } }); } /** *

* Attaches a network interface to an instance. *

* * @param attachNetworkInterfaceRequest Container for the necessary * parameters to execute the AttachNetworkInterface operation on * AmazonEC2. * * @return A Java Future object containing the response from the * AttachNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachNetworkInterfaceAsync(final AttachNetworkInterfaceRequest attachNetworkInterfaceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachNetworkInterfaceResult call() throws Exception { return attachNetworkInterface(attachNetworkInterfaceRequest); } }); } /** *

* Attaches a network interface to an instance. *

* * @param attachNetworkInterfaceRequest Container for the necessary * parameters to execute the AttachNetworkInterface operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AttachNetworkInterface service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachNetworkInterfaceAsync( final AttachNetworkInterfaceRequest attachNetworkInterfaceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachNetworkInterfaceResult call() throws Exception { AttachNetworkInterfaceResult result; try { result = attachNetworkInterface(attachNetworkInterfaceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachNetworkInterfaceRequest, result); return result; } }); } /** *

* Replaces an existing route within a route table in a VPC. You must * provide only one of the following: Internet gateway, NAT instance, VPC * peering connection, or network interface. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceRouteRequest Container for the necessary parameters to * execute the ReplaceRoute operation on AmazonEC2. * * @return A Java Future object containing the response from the * ReplaceRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceRouteAsync(final ReplaceRouteRequest replaceRouteRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { replaceRoute(replaceRouteRequest); return null; } }); } /** *

* Replaces an existing route within a route table in a VPC. You must * provide only one of the following: Internet gateway, NAT instance, VPC * peering connection, or network interface. *

*

* For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceRouteRequest Container for the necessary parameters to * execute the ReplaceRoute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReplaceRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceRouteAsync( final ReplaceRouteRequest replaceRouteRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { replaceRoute(replaceRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(replaceRouteRequest, null); return null; } }); } /** *

* Describes one or more of the tags for your EC2 resources. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTagsAsync(final DescribeTagsRequest describeTagsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTagsResult call() throws Exception { return describeTags(describeTagsRequest); } }); } /** *

* Describes one or more of the tags for your EC2 resources. *

*

* For more information about tags, see * Tagging Your Resources * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTags service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTagsAsync( final DescribeTagsRequest describeTagsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTagsResult call() throws Exception { DescribeTagsResult result; try { result = describeTags(describeTagsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTagsRequest, result); return result; } }); } /** *

* Cancels a bundling operation for an instance store-backed Windows * instance. *

* * @param cancelBundleTaskRequest Container for the necessary parameters * to execute the CancelBundleTask operation on AmazonEC2. * * @return A Java Future object containing the response from the * CancelBundleTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelBundleTaskAsync(final CancelBundleTaskRequest cancelBundleTaskRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelBundleTaskResult call() throws Exception { return cancelBundleTask(cancelBundleTaskRequest); } }); } /** *

* Cancels a bundling operation for an instance store-backed Windows * instance. *

* * @param cancelBundleTaskRequest Container for the necessary parameters * to execute the CancelBundleTask operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelBundleTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelBundleTaskAsync( final CancelBundleTaskRequest cancelBundleTaskRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelBundleTaskResult call() throws Exception { CancelBundleTaskResult result; try { result = cancelBundleTask(cancelBundleTaskRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelBundleTaskRequest, result); return result; } }); } /** *

* Disables a virtual private gateway (VGW) from propagating routes to * the routing tables of a VPC. *

* * @param disableVgwRoutePropagationRequest Container for the necessary * parameters to execute the DisableVgwRoutePropagation operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DisableVgwRoutePropagation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disableVgwRoutePropagationAsync(final DisableVgwRoutePropagationRequest disableVgwRoutePropagationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { disableVgwRoutePropagation(disableVgwRoutePropagationRequest); return null; } }); } /** *

* Disables a virtual private gateway (VGW) from propagating routes to * the routing tables of a VPC. *

* * @param disableVgwRoutePropagationRequest Container for the necessary * parameters to execute the DisableVgwRoutePropagation operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DisableVgwRoutePropagation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disableVgwRoutePropagationAsync( final DisableVgwRoutePropagationRequest disableVgwRoutePropagationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { disableVgwRoutePropagation(disableVgwRoutePropagationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableVgwRoutePropagationRequest, null); return null; } }); } /** *

* Cancels one or more Spot Instance requests. Spot Instances are * instances that Amazon EC2 starts on your behalf when the maximum price * that you specify exceeds the current Spot Price. Amazon EC2 * periodically sets the Spot Price based on available Spot Instance * capacity and current Spot Instance requests. For more information * about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* IMPORTANT: Canceling a Spot Instance request does not terminate * running Spot Instances associated with the request. *

* * @param cancelSpotInstanceRequestsRequest Container for the necessary * parameters to execute the CancelSpotInstanceRequests operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CancelSpotInstanceRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelSpotInstanceRequestsAsync(final CancelSpotInstanceRequestsRequest cancelSpotInstanceRequestsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelSpotInstanceRequestsResult call() throws Exception { return cancelSpotInstanceRequests(cancelSpotInstanceRequestsRequest); } }); } /** *

* Cancels one or more Spot Instance requests. Spot Instances are * instances that Amazon EC2 starts on your behalf when the maximum price * that you specify exceeds the current Spot Price. Amazon EC2 * periodically sets the Spot Price based on available Spot Instance * capacity and current Spot Instance requests. For more information * about Spot Instances, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

*

* IMPORTANT: Canceling a Spot Instance request does not terminate * running Spot Instances associated with the request. *

* * @param cancelSpotInstanceRequestsRequest Container for the necessary * parameters to execute the CancelSpotInstanceRequests operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelSpotInstanceRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelSpotInstanceRequestsAsync( final CancelSpotInstanceRequestsRequest cancelSpotInstanceRequestsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelSpotInstanceRequestsResult call() throws Exception { CancelSpotInstanceRequestsResult result; try { result = cancelSpotInstanceRequests(cancelSpotInstanceRequestsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelSpotInstanceRequestsRequest, result); return result; } }); } /** *

* Purchases a Reserved Instance for use with your account. With Amazon * EC2 Reserved Instances, you obtain a capacity reservation for a * certain instance configuration over a specified period of time. You * pay a lower usage rate than with On-Demand instances for the time that * you actually use the capacity reservation. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param purchaseReservedInstancesOfferingRequest Container for the * necessary parameters to execute the PurchaseReservedInstancesOffering * operation on AmazonEC2. * * @return A Java Future object containing the response from the * PurchaseReservedInstancesOffering service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future purchaseReservedInstancesOfferingAsync(final PurchaseReservedInstancesOfferingRequest purchaseReservedInstancesOfferingRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public PurchaseReservedInstancesOfferingResult call() throws Exception { return purchaseReservedInstancesOffering(purchaseReservedInstancesOfferingRequest); } }); } /** *

* Purchases a Reserved Instance for use with your account. With Amazon * EC2 Reserved Instances, you obtain a capacity reservation for a * certain instance configuration over a specified period of time. You * pay a lower usage rate than with On-Demand instances for the time that * you actually use the capacity reservation. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param purchaseReservedInstancesOfferingRequest Container for the * necessary parameters to execute the PurchaseReservedInstancesOffering * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * PurchaseReservedInstancesOffering service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future purchaseReservedInstancesOfferingAsync( final PurchaseReservedInstancesOfferingRequest purchaseReservedInstancesOfferingRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public PurchaseReservedInstancesOfferingResult call() throws Exception { PurchaseReservedInstancesOfferingResult result; try { result = purchaseReservedInstancesOffering(purchaseReservedInstancesOfferingRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(purchaseReservedInstancesOfferingRequest, result); return result; } }); } /** *

* Adds or removes permission settings for the specified snapshot. *

*

* For more information on modifying snapshot permissions, see * Sharing Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

*

* NOTE: Snapshots with AWS Marketplace product codes cannot be * made public. *

* * @param modifySnapshotAttributeRequest Container for the necessary * parameters to execute the ModifySnapshotAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ModifySnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifySnapshotAttributeAsync(final ModifySnapshotAttributeRequest modifySnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { modifySnapshotAttribute(modifySnapshotAttributeRequest); return null; } }); } /** *

* Adds or removes permission settings for the specified snapshot. *

*

* For more information on modifying snapshot permissions, see * Sharing Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

*

* NOTE: Snapshots with AWS Marketplace product codes cannot be * made public. *

* * @param modifySnapshotAttributeRequest Container for the necessary * parameters to execute the ModifySnapshotAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ModifySnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifySnapshotAttributeAsync( final ModifySnapshotAttributeRequest modifySnapshotAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifySnapshotAttribute(modifySnapshotAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifySnapshotAttributeRequest, null); return null; } }); } /** *

* Describes the modifications made to your Reserved Instances. If no * parameter is specified, information about all your Reserved Instances * modification requests is returned. If a modification ID is specified, * only information about the specific modification is returned. *

* * @param describeReservedInstancesModificationsRequest Container for the * necessary parameters to execute the * DescribeReservedInstancesModifications operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeReservedInstancesModifications service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesModificationsAsync(final DescribeReservedInstancesModificationsRequest describeReservedInstancesModificationsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesModificationsResult call() throws Exception { return describeReservedInstancesModifications(describeReservedInstancesModificationsRequest); } }); } /** *

* Describes the modifications made to your Reserved Instances. If no * parameter is specified, information about all your Reserved Instances * modification requests is returned. If a modification ID is specified, * only information about the specific modification is returned. *

* * @param describeReservedInstancesModificationsRequest Container for the * necessary parameters to execute the * DescribeReservedInstancesModifications operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeReservedInstancesModifications service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesModificationsAsync( final DescribeReservedInstancesModificationsRequest describeReservedInstancesModificationsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesModificationsResult call() throws Exception { DescribeReservedInstancesModificationsResult result; try { result = describeReservedInstancesModifications(describeReservedInstancesModificationsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeReservedInstancesModificationsRequest, result); return result; } }); } /** *

* Shuts down one or more instances. This operation is idempotent; if you * terminate an instance more than once, each call succeeds. *

*

* Terminated instances remain visible after termination (for * approximately one hour). *

*

* By default, Amazon EC2 deletes all Amazon EBS volumes that were * attached when the instance launched. Volumes attached after instance * launch continue running. *

*

* You can stop, start, and terminate EBS-backed instances. You can only * terminate instance store-backed instances. What happens to an instance * differs if you stop it or terminate it. For example, when you stop an * instance, the root device and any other devices attached to the * instance persist. When you terminate an instance, the root device and * any other devices attached during the instance launch are * automatically deleted. For more information about the differences * between stopping and terminating instances, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

* * @param terminateInstancesRequest Container for the necessary * parameters to execute the TerminateInstances operation on AmazonEC2. * * @return A Java Future object containing the response from the * TerminateInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future terminateInstancesAsync(final TerminateInstancesRequest terminateInstancesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TerminateInstancesResult call() throws Exception { return terminateInstances(terminateInstancesRequest); } }); } /** *

* Shuts down one or more instances. This operation is idempotent; if you * terminate an instance more than once, each call succeeds. *

*

* Terminated instances remain visible after termination (for * approximately one hour). *

*

* By default, Amazon EC2 deletes all Amazon EBS volumes that were * attached when the instance launched. Volumes attached after instance * launch continue running. *

*

* You can stop, start, and terminate EBS-backed instances. You can only * terminate instance store-backed instances. What happens to an instance * differs if you stop it or terminate it. For example, when you stop an * instance, the root device and any other devices attached to the * instance persist. When you terminate an instance, the root device and * any other devices attached during the instance launch are * automatically deleted. For more information about the differences * between stopping and terminating instances, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

* * @param terminateInstancesRequest Container for the necessary * parameters to execute the TerminateInstances operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * TerminateInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future terminateInstancesAsync( final TerminateInstancesRequest terminateInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TerminateInstancesResult call() throws Exception { TerminateInstancesResult result; try { result = terminateInstances(terminateInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(terminateInstancesRequest, result); return result; } }); } /** *

* Deletes the datafeed for Spot Instances. For more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DeleteSpotDatafeedSubscription * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSpotDatafeedSubscriptionAsync(final DeleteSpotDatafeedSubscriptionRequest deleteSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSpotDatafeedSubscription(deleteSpotDatafeedSubscriptionRequest); return null; } }); } /** *

* Deletes the datafeed for Spot Instances. For more information, see * Spot Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DeleteSpotDatafeedSubscription * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSpotDatafeedSubscription service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSpotDatafeedSubscriptionAsync( final DeleteSpotDatafeedSubscriptionRequest deleteSpotDatafeedSubscriptionRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSpotDatafeedSubscription(deleteSpotDatafeedSubscriptionRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSpotDatafeedSubscriptionRequest, null); return null; } }); } /** *

* Deletes the specified Internet gateway. You must detach the Internet * gateway from the VPC before you can delete it. *

* * @param deleteInternetGatewayRequest Container for the necessary * parameters to execute the DeleteInternetGateway operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteInternetGatewayAsync(final DeleteInternetGatewayRequest deleteInternetGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteInternetGateway(deleteInternetGatewayRequest); return null; } }); } /** *

* Deletes the specified Internet gateway. You must detach the Internet * gateway from the VPC before you can delete it. *

* * @param deleteInternetGatewayRequest Container for the necessary * parameters to execute the DeleteInternetGateway operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteInternetGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteInternetGatewayAsync( final DeleteInternetGatewayRequest deleteInternetGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteInternetGateway(deleteInternetGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteInternetGatewayRequest, null); return null; } }); } /** *

* Describes the specified attribute of the specified snapshot. You can * specify only one attribute at a time. *

*

* For more information about Amazon EBS snapshots, see * Amazon EBS Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSnapshotAttributeRequest Container for the necessary * parameters to execute the DescribeSnapshotAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotAttributeAsync(final DescribeSnapshotAttributeRequest describeSnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotAttributeResult call() throws Exception { return describeSnapshotAttribute(describeSnapshotAttributeRequest); } }); } /** *

* Describes the specified attribute of the specified snapshot. You can * specify only one attribute at a time. *

*

* For more information about Amazon EBS snapshots, see * Amazon EBS Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSnapshotAttributeRequest Container for the necessary * parameters to execute the DescribeSnapshotAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSnapshotAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotAttributeAsync( final DescribeSnapshotAttributeRequest describeSnapshotAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotAttributeResult call() throws Exception { DescribeSnapshotAttributeResult result; try { result = describeSnapshotAttribute(describeSnapshotAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSnapshotAttributeRequest, result); return result; } }); } /** *

* Changes the route table associated with a given subnet in a VPC. After * the operation completes, the subnet uses the routes in the new route * table it's associated with. For more information about route tables, * see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

*

* You can also use ReplaceRouteTableAssociation to change which table is * the main route table in the VPC. You just specify the main route * table's association ID and the route table to be the new main route * table. *

* * @param replaceRouteTableAssociationRequest Container for the necessary * parameters to execute the ReplaceRouteTableAssociation operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ReplaceRouteTableAssociation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceRouteTableAssociationAsync(final ReplaceRouteTableAssociationRequest replaceRouteTableAssociationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ReplaceRouteTableAssociationResult call() throws Exception { return replaceRouteTableAssociation(replaceRouteTableAssociationRequest); } }); } /** *

* Changes the route table associated with a given subnet in a VPC. After * the operation completes, the subnet uses the routes in the new route * table it's associated with. For more information about route tables, * see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

*

* You can also use ReplaceRouteTableAssociation to change which table is * the main route table in the VPC. You just specify the main route * table's association ID and the route table to be the new main route * table. *

* * @param replaceRouteTableAssociationRequest Container for the necessary * parameters to execute the ReplaceRouteTableAssociation operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReplaceRouteTableAssociation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceRouteTableAssociationAsync( final ReplaceRouteTableAssociationRequest replaceRouteTableAssociationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ReplaceRouteTableAssociationResult call() throws Exception { ReplaceRouteTableAssociationResult result; try { result = replaceRouteTableAssociation(replaceRouteTableAssociationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(replaceRouteTableAssociationRequest, result); return result; } }); } /** *

* Describes one or more of your Elastic IP addresses. *

*

* An Elastic IP address is for use in either the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeAddressesRequest Container for the necessary parameters * to execute the DescribeAddresses operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAddressesAsync(final DescribeAddressesRequest describeAddressesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAddressesResult call() throws Exception { return describeAddresses(describeAddressesRequest); } }); } /** *

* Describes one or more of your Elastic IP addresses. *

*

* An Elastic IP address is for use in either the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeAddressesRequest Container for the necessary parameters * to execute the DescribeAddresses operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeAddressesAsync( final DescribeAddressesRequest describeAddressesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeAddressesResult call() throws Exception { DescribeAddressesResult result; try { result = describeAddresses(describeAddressesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeAddressesRequest, result); return result; } }); } /** *

* Describes the specified attribute of the specified AMI. You can * specify only one attribute at a time. *

* * @param describeImageAttributeRequest Container for the necessary * parameters to execute the DescribeImageAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImageAttributeAsync(final DescribeImageAttributeRequest describeImageAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImageAttributeResult call() throws Exception { return describeImageAttribute(describeImageAttributeRequest); } }); } /** *

* Describes the specified attribute of the specified AMI. You can * specify only one attribute at a time. *

* * @param describeImageAttributeRequest Container for the necessary * parameters to execute the DescribeImageAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeImageAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImageAttributeAsync( final DescribeImageAttributeRequest describeImageAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImageAttributeResult call() throws Exception { DescribeImageAttributeResult result; try { result = describeImageAttribute(describeImageAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeImageAttributeRequest, result); return result; } }); } /** *

* Describes one or more of your key pairs. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeKeyPairsRequest Container for the necessary parameters * to execute the DescribeKeyPairs operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeKeyPairs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeKeyPairsAsync(final DescribeKeyPairsRequest describeKeyPairsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeKeyPairsResult call() throws Exception { return describeKeyPairs(describeKeyPairsRequest); } }); } /** *

* Describes one or more of your key pairs. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeKeyPairsRequest Container for the necessary parameters * to execute the DescribeKeyPairs operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeKeyPairs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeKeyPairsAsync( final DescribeKeyPairsRequest describeKeyPairsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeKeyPairsResult call() throws Exception { DescribeKeyPairsResult result; try { result = describeKeyPairs(describeKeyPairsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeKeyPairsRequest, result); return result; } }); } /** *

* Determines whether a product code is associated with an instance. This * action can only be used by the owner of the product code. It is useful * when a product code owner needs to verify whether another user's * instance is eligible for support. *

* * @param confirmProductInstanceRequest Container for the necessary * parameters to execute the ConfirmProductInstance operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ConfirmProductInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future confirmProductInstanceAsync(final ConfirmProductInstanceRequest confirmProductInstanceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ConfirmProductInstanceResult call() throws Exception { return confirmProductInstance(confirmProductInstanceRequest); } }); } /** *

* Determines whether a product code is associated with an instance. This * action can only be used by the owner of the product code. It is useful * when a product code owner needs to verify whether another user's * instance is eligible for support. *

* * @param confirmProductInstanceRequest Container for the necessary * parameters to execute the ConfirmProductInstance operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ConfirmProductInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future confirmProductInstanceAsync( final ConfirmProductInstanceRequest confirmProductInstanceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ConfirmProductInstanceResult call() throws Exception { ConfirmProductInstanceResult result; try { result = confirmProductInstance(confirmProductInstanceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(confirmProductInstanceRequest, result); return result; } }); } /** *

* Disassociates a subnet from a route table. *

*

* After you perform this action, the subnet no longer uses the routes in * the route table. Instead, it uses the routes in the VPC's main route * table. For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param disassociateRouteTableRequest Container for the necessary * parameters to execute the DisassociateRouteTable operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DisassociateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disassociateRouteTableAsync(final DisassociateRouteTableRequest disassociateRouteTableRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { disassociateRouteTable(disassociateRouteTableRequest); return null; } }); } /** *

* Disassociates a subnet from a route table. *

*

* After you perform this action, the subnet no longer uses the routes in * the route table. Instead, it uses the routes in the VPC's main route * table. For more information about route tables, see * Route Tables * in the Amazon Virtual Private Cloud User Guide . *

* * @param disassociateRouteTableRequest Container for the necessary * parameters to execute the DisassociateRouteTable operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DisassociateRouteTable service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disassociateRouteTableAsync( final DisassociateRouteTableRequest disassociateRouteTableRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { disassociateRouteTable(disassociateRouteTableRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disassociateRouteTableRequest, null); return null; } }); } /** *

* Describes the specified attribute of the specified VPC. You can * specify only one attribute at a time. *

* * @param describeVpcAttributeRequest Container for the necessary * parameters to execute the DescribeVpcAttribute operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVpcAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcAttributeAsync(final DescribeVpcAttributeRequest describeVpcAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcAttributeResult call() throws Exception { return describeVpcAttribute(describeVpcAttributeRequest); } }); } /** *

* Describes the specified attribute of the specified VPC. You can * specify only one attribute at a time. *

* * @param describeVpcAttributeRequest Container for the necessary * parameters to execute the DescribeVpcAttribute operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVpcAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcAttributeAsync( final DescribeVpcAttributeRequest describeVpcAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcAttributeResult call() throws Exception { DescribeVpcAttributeResult result; try { result = describeVpcAttribute(describeVpcAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcAttributeRequest, result); return result; } }); } /** *

* Removes one or more egress rules from a security group for EC2-VPC. * The values that you specify in the revoke request (for example, ports) * must match the existing rule's values for the rule to be revoked. *

*

* Each rule consists of the protocol and the CIDR range or source * security group. For the TCP and UDP protocols, you must also specify * the destination port or range of ports. For the ICMP protocol, you * must also specify the ICMP type and code. *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

* * @param revokeSecurityGroupEgressRequest Container for the necessary * parameters to execute the RevokeSecurityGroupEgress operation on * AmazonEC2. * * @return A Java Future object containing the response from the * RevokeSecurityGroupEgress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future revokeSecurityGroupEgressAsync(final RevokeSecurityGroupEgressRequest revokeSecurityGroupEgressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { revokeSecurityGroupEgress(revokeSecurityGroupEgressRequest); return null; } }); } /** *

* Removes one or more egress rules from a security group for EC2-VPC. * The values that you specify in the revoke request (for example, ports) * must match the existing rule's values for the rule to be revoked. *

*

* Each rule consists of the protocol and the CIDR range or source * security group. For the TCP and UDP protocols, you must also specify * the destination port or range of ports. For the ICMP protocol, you * must also specify the ICMP type and code. *

*

* Rule changes are propagated to instances within the security group as * quickly as possible. However, a small delay might occur. *

* * @param revokeSecurityGroupEgressRequest Container for the necessary * parameters to execute the RevokeSecurityGroupEgress operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RevokeSecurityGroupEgress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future revokeSecurityGroupEgressAsync( final RevokeSecurityGroupEgressRequest revokeSecurityGroupEgressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { revokeSecurityGroupEgress(revokeSecurityGroupEgressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(revokeSecurityGroupEgressRequest, null); return null; } }); } /** *

* Deletes the specified ingress or egress entry (rule) from the * specified network ACL. *

* * @param deleteNetworkAclEntryRequest Container for the necessary * parameters to execute the DeleteNetworkAclEntry operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DeleteNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkAclEntryAsync(final DeleteNetworkAclEntryRequest deleteNetworkAclEntryRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteNetworkAclEntry(deleteNetworkAclEntryRequest); return null; } }); } /** *

* Deletes the specified ingress or egress entry (rule) from the * specified network ACL. *

* * @param deleteNetworkAclEntryRequest Container for the necessary * parameters to execute the DeleteNetworkAclEntry operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNetworkAclEntryAsync( final DeleteNetworkAclEntryRequest deleteNetworkAclEntryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteNetworkAclEntry(deleteNetworkAclEntryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteNetworkAclEntryRequest, null); return null; } }); } /** *

* Creates an Amazon EBS volume that can be attached to any instance in * the same Availability Zone. *

*

* Any AWS Marketplace product codes from the snapshot are propagated to * the volume. *

*

* For more information, see * Creating or Restoring an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createVolumeRequest Container for the necessary parameters to * execute the CreateVolume operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVolumeAsync(final CreateVolumeRequest createVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVolumeResult call() throws Exception { return createVolume(createVolumeRequest); } }); } /** *

* Creates an Amazon EBS volume that can be attached to any instance in * the same Availability Zone. *

*

* Any AWS Marketplace product codes from the snapshot are propagated to * the volume. *

*

* For more information, see * Creating or Restoring an Amazon EBS Volume * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createVolumeRequest Container for the necessary parameters to * execute the CreateVolume operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVolume service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVolumeAsync( final CreateVolumeRequest createVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVolumeResult call() throws Exception { CreateVolumeResult result; try { result = createVolume(createVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVolumeRequest, result); return result; } }); } /** *

* Describes the status of one or more instances, including any scheduled * events. *

*

* Instance status has two main components: *

* *
    *
  • * System Status reports impaired functionality that stems from issues * related to the systems that support an instance, such as such as * hardware failures and network connectivity problems. This call reports * such problems as impaired reachability. *

    *
  • *
  • * Instance Status reports impaired functionality that arises from * problems internal to the instance. This call reports such problems as * impaired reachability. *

    *
  • * *
*

* Instance status provides information about four types of scheduled * events for an instance that may require your attention: *

* *
    *
  • * Scheduled Reboot: When Amazon EC2 determines that an instance must be * rebooted, the instances status returns one of two event codes: * system-reboot or instance-reboot . System * reboot commonly occurs if certain maintenance or upgrade operations * require a reboot of the underlying host that supports an instance. * Instance reboot commonly occurs if the instance must be rebooted, * rather than the underlying host. Rebooting events include a scheduled * start and end time. *

    *
  • *
  • * System Maintenance: When Amazon EC2 determines that an instance * requires maintenance that requires power or network impact, the * instance status is the event code system-maintenance . * System maintenance is either power maintenance or network maintenance. * For power maintenance, your instance will be unavailable for a brief * period of time and then rebooted. For network maintenance, your * instance will experience a brief loss of network connectivity. System * maintenance events include a scheduled start and end time. You will * also be notified by email if one of your instances is set for system * maintenance. The email message indicates when your instance is * scheduled for maintenance. *

    *
  • *
  • * Scheduled Retirement: When Amazon EC2 determines that an instance must * be shut down, the instance status is the event code * instance-retirement . Retirement commonly occurs when the * underlying host is degraded and must be replaced. Retirement events * include a scheduled start and end time. You will also be notified by * email if one of your instances is set to retiring. The email message * indicates when your instance will be permanently retired. *

    *
  • *
  • * Scheduled Stop: When Amazon EC2 determines that an instance must be * shut down, the instances status returns an event code called * instance-stop . * Stop events include a scheduled start and end time. You will * also be notified by email if one of your instances is set to stop. The * email message indicates when your instance will be stopped. *

    *
  • * *
*

* When your instance is retired, it will either be terminated (if its * root device type is the instance-store) or stopped (if its root device * type is an EBS volume). Instances stopped due to retirement will not * be restarted, but you can do so manually. You can also avoid * retirement of EBS-backed instances by manually restarting your * instance when its event code is instance-retirement . * This ensures that your instance is started on a different underlying * host. *

* * @param describeInstanceStatusRequest Container for the necessary * parameters to execute the DescribeInstanceStatus operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeInstanceStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceStatusAsync(final DescribeInstanceStatusRequest describeInstanceStatusRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceStatusResult call() throws Exception { return describeInstanceStatus(describeInstanceStatusRequest); } }); } /** *

* Describes the status of one or more instances, including any scheduled * events. *

*

* Instance status has two main components: *

* *
    *
  • * System Status reports impaired functionality that stems from issues * related to the systems that support an instance, such as such as * hardware failures and network connectivity problems. This call reports * such problems as impaired reachability. *

    *
  • *
  • * Instance Status reports impaired functionality that arises from * problems internal to the instance. This call reports such problems as * impaired reachability. *

    *
  • * *
*

* Instance status provides information about four types of scheduled * events for an instance that may require your attention: *

* *
    *
  • * Scheduled Reboot: When Amazon EC2 determines that an instance must be * rebooted, the instances status returns one of two event codes: * system-reboot or instance-reboot . System * reboot commonly occurs if certain maintenance or upgrade operations * require a reboot of the underlying host that supports an instance. * Instance reboot commonly occurs if the instance must be rebooted, * rather than the underlying host. Rebooting events include a scheduled * start and end time. *

    *
  • *
  • * System Maintenance: When Amazon EC2 determines that an instance * requires maintenance that requires power or network impact, the * instance status is the event code system-maintenance . * System maintenance is either power maintenance or network maintenance. * For power maintenance, your instance will be unavailable for a brief * period of time and then rebooted. For network maintenance, your * instance will experience a brief loss of network connectivity. System * maintenance events include a scheduled start and end time. You will * also be notified by email if one of your instances is set for system * maintenance. The email message indicates when your instance is * scheduled for maintenance. *

    *
  • *
  • * Scheduled Retirement: When Amazon EC2 determines that an instance must * be shut down, the instance status is the event code * instance-retirement . Retirement commonly occurs when the * underlying host is degraded and must be replaced. Retirement events * include a scheduled start and end time. You will also be notified by * email if one of your instances is set to retiring. The email message * indicates when your instance will be permanently retired. *

    *
  • *
  • * Scheduled Stop: When Amazon EC2 determines that an instance must be * shut down, the instances status returns an event code called * instance-stop . * Stop events include a scheduled start and end time. You will * also be notified by email if one of your instances is set to stop. The * email message indicates when your instance will be stopped. *

    *
  • * *
*

* When your instance is retired, it will either be terminated (if its * root device type is the instance-store) or stopped (if its root device * type is an EBS volume). Instances stopped due to retirement will not * be restarted, but you can do so manually. You can also avoid * retirement of EBS-backed instances by manually restarting your * instance when its event code is instance-retirement . * This ensures that your instance is started on a different underlying * host. *

* * @param describeInstanceStatusRequest Container for the necessary * parameters to execute the DescribeInstanceStatus operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeInstanceStatus service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeInstanceStatusAsync( final DescribeInstanceStatusRequest describeInstanceStatusRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeInstanceStatusResult call() throws Exception { DescribeInstanceStatusResult result; try { result = describeInstanceStatus(describeInstanceStatusRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeInstanceStatusRequest, result); return result; } }); } /** *

* Describes one or more of your virtual private gateways. *

*

* For more information about virtual private gateways, see * Adding an IPsec Hardware VPN to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeVpnGatewaysRequest Container for the necessary * parameters to execute the DescribeVpnGateways operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeVpnGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpnGatewaysAsync(final DescribeVpnGatewaysRequest describeVpnGatewaysRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpnGatewaysResult call() throws Exception { return describeVpnGateways(describeVpnGatewaysRequest); } }); } /** *

* Describes one or more of your virtual private gateways. *

*

* For more information about virtual private gateways, see * Adding an IPsec Hardware VPN to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param describeVpnGatewaysRequest Container for the necessary * parameters to execute the DescribeVpnGateways operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVpnGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpnGatewaysAsync( final DescribeVpnGatewaysRequest describeVpnGatewaysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpnGatewaysResult call() throws Exception { DescribeVpnGatewaysResult result; try { result = describeVpnGateways(describeVpnGatewaysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpnGatewaysRequest, result); return result; } }); } /** *

* Creates a subnet in an existing VPC. *

*

* When you create each subnet, you provide the VPC ID and the CIDR block * you want for the subnet. After you create a subnet, you can't change * its CIDR block. The subnet's CIDR block can be the same as the VPC's * CIDR block (assuming you want only a single subnet in the VPC), or a * subset of the VPC's CIDR block. If you create more than one subnet in * a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet * (and VPC) you can create uses a /28 netmask (16 IP addresses), and the * largest uses a /16 netmask (65,536 IP addresses). *

*

* IMPORTANT: AWS reserves both the first four and the last IP * address in each subnet's CIDR block. They're not available for use. *

*

* If you add more than one subnet to a VPC, they're set up in a star * topology with a logical router in the middle. *

*

* For more information about subnets, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createSubnetRequest Container for the necessary parameters to * execute the CreateSubnet operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateSubnet service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSubnetAsync(final CreateSubnetRequest createSubnetRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSubnetResult call() throws Exception { return createSubnet(createSubnetRequest); } }); } /** *

* Creates a subnet in an existing VPC. *

*

* When you create each subnet, you provide the VPC ID and the CIDR block * you want for the subnet. After you create a subnet, you can't change * its CIDR block. The subnet's CIDR block can be the same as the VPC's * CIDR block (assuming you want only a single subnet in the VPC), or a * subset of the VPC's CIDR block. If you create more than one subnet in * a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet * (and VPC) you can create uses a /28 netmask (16 IP addresses), and the * largest uses a /16 netmask (65,536 IP addresses). *

*

* IMPORTANT: AWS reserves both the first four and the last IP * address in each subnet's CIDR block. They're not available for use. *

*

* If you add more than one subnet to a VPC, they're set up in a star * topology with a logical router in the middle. *

*

* For more information about subnets, see * Your VPC and Subnets * in the Amazon Virtual Private Cloud User Guide . *

* * @param createSubnetRequest Container for the necessary parameters to * execute the CreateSubnet operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSubnet service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createSubnetAsync( final CreateSubnetRequest createSubnetRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSubnetResult call() throws Exception { CreateSubnetResult result; try { result = createSubnet(createSubnetRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSubnetRequest, result); return result; } }); } /** *

* Describes Reserved Instance offerings that are available for purchase. * With Reserved Instances, you purchase the right to launch instances * for a period of time. During that time period, you do not receive * insufficient capacity errors, and you pay a lower usage rate than the * rate charged for On-Demand instances for the actual time used. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesOfferingsRequest Container for the * necessary parameters to execute the DescribeReservedInstancesOfferings * operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeReservedInstancesOfferings service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesOfferingsAsync(final DescribeReservedInstancesOfferingsRequest describeReservedInstancesOfferingsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesOfferingsResult call() throws Exception { return describeReservedInstancesOfferings(describeReservedInstancesOfferingsRequest); } }); } /** *

* Describes Reserved Instance offerings that are available for purchase. * With Reserved Instances, you purchase the right to launch instances * for a period of time. During that time period, you do not receive * insufficient capacity errors, and you pay a lower usage rate than the * rate charged for On-Demand instances for the actual time used. *

*

* For more information, see * Reserved Instance Marketplace * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeReservedInstancesOfferingsRequest Container for the * necessary parameters to execute the DescribeReservedInstancesOfferings * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeReservedInstancesOfferings service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeReservedInstancesOfferingsAsync( final DescribeReservedInstancesOfferingsRequest describeReservedInstancesOfferingsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeReservedInstancesOfferingsResult call() throws Exception { DescribeReservedInstancesOfferingsResult result; try { result = describeReservedInstancesOfferings(describeReservedInstancesOfferingsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeReservedInstancesOfferingsRequest, result); return result; } }); } /** *

* Assigns one or more secondary private IP addresses to the specified * network interface. You can specify one or more specific secondary IP * addresses, or you can specify the number of secondary IP addresses to * be automatically assigned within the subnet's CIDR block range. The * number of secondary IP addresses that you can assign to an instance * varies by instance type. For information about instance types, see * Instance Types in the Amazon Elastic Compute Cloud User Guide . For more information about Elastic IP addresses, see Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

*

* AssignPrivateIpAddresses is available only in EC2-VPC. *

* * @param assignPrivateIpAddressesRequest Container for the necessary * parameters to execute the AssignPrivateIpAddresses operation on * AmazonEC2. * * @return A Java Future object containing the response from the * AssignPrivateIpAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future assignPrivateIpAddressesAsync(final AssignPrivateIpAddressesRequest assignPrivateIpAddressesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { assignPrivateIpAddresses(assignPrivateIpAddressesRequest); return null; } }); } /** *

* Assigns one or more secondary private IP addresses to the specified * network interface. You can specify one or more specific secondary IP * addresses, or you can specify the number of secondary IP addresses to * be automatically assigned within the subnet's CIDR block range. The * number of secondary IP addresses that you can assign to an instance * varies by instance type. For information about instance types, see * Instance Types in the Amazon Elastic Compute Cloud User Guide . For more information about Elastic IP addresses, see Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

*

* AssignPrivateIpAddresses is available only in EC2-VPC. *

* * @param assignPrivateIpAddressesRequest Container for the necessary * parameters to execute the AssignPrivateIpAddresses operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AssignPrivateIpAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future assignPrivateIpAddressesAsync( final AssignPrivateIpAddressesRequest assignPrivateIpAddressesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { assignPrivateIpAddresses(assignPrivateIpAddressesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(assignPrivateIpAddressesRequest, null); return null; } }); } /** *

* Deletes the specified snapshot. *

*

* When you make periodic snapshots of a volume, the snapshots are * incremental, and only the blocks on the device that have changed since * your last snapshot are saved in the new snapshot. When you delete a * snapshot, only the data not needed for any other snapshot is removed. * So regardless of which prior snapshots have been deleted, all active * snapshots will have access to all the information needed to restore * the volume. *

*

* You cannot delete a snapshot of the root device of an Amazon EBS * volume used by a registered AMI. You must first de-register the AMI * before you can delete the snapshot. *

*

* For more information, see * Deleting an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteSnapshotRequest Container for the necessary parameters to * execute the DeleteSnapshot operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteSnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSnapshotAsync(final DeleteSnapshotRequest deleteSnapshotRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSnapshot(deleteSnapshotRequest); return null; } }); } /** *

* Deletes the specified snapshot. *

*

* When you make periodic snapshots of a volume, the snapshots are * incremental, and only the blocks on the device that have changed since * your last snapshot are saved in the new snapshot. When you delete a * snapshot, only the data not needed for any other snapshot is removed. * So regardless of which prior snapshots have been deleted, all active * snapshots will have access to all the information needed to restore * the volume. *

*

* You cannot delete a snapshot of the root device of an Amazon EBS * volume used by a registered AMI. You must first de-register the AMI * before you can delete the snapshot. *

*

* For more information, see * Deleting an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deleteSnapshotRequest Container for the necessary parameters to * execute the DeleteSnapshot operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSnapshotAsync( final DeleteSnapshotRequest deleteSnapshotRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSnapshot(deleteSnapshotRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSnapshotRequest, null); return null; } }); } /** *

* Changes which network ACL a subnet is associated with. By default when * you create a subnet, it's automatically associated with the default * network ACL. For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceNetworkAclAssociationRequest Container for the necessary * parameters to execute the ReplaceNetworkAclAssociation operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ReplaceNetworkAclAssociation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceNetworkAclAssociationAsync(final ReplaceNetworkAclAssociationRequest replaceNetworkAclAssociationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ReplaceNetworkAclAssociationResult call() throws Exception { return replaceNetworkAclAssociation(replaceNetworkAclAssociationRequest); } }); } /** *

* Changes which network ACL a subnet is associated with. By default when * you create a subnet, it's automatically associated with the default * network ACL. For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceNetworkAclAssociationRequest Container for the necessary * parameters to execute the ReplaceNetworkAclAssociation operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReplaceNetworkAclAssociation service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceNetworkAclAssociationAsync( final ReplaceNetworkAclAssociationRequest replaceNetworkAclAssociationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ReplaceNetworkAclAssociationResult call() throws Exception { ReplaceNetworkAclAssociationResult result; try { result = replaceNetworkAclAssociation(replaceNetworkAclAssociationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(replaceNetworkAclAssociationRequest, result); return result; } }); } /** *

* Disassociates an Elastic IP address from the instance or network * interface it's associated with. *

*

* This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *

* * @param disassociateAddressRequest Container for the necessary * parameters to execute the DisassociateAddress operation on AmazonEC2. * * @return A Java Future object containing the response from the * DisassociateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disassociateAddressAsync(final DisassociateAddressRequest disassociateAddressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { disassociateAddress(disassociateAddressRequest); return null; } }); } /** *

* Disassociates an Elastic IP address from the instance or network * interface it's associated with. *

*

* This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *

* * @param disassociateAddressRequest Container for the necessary * parameters to execute the DisassociateAddress operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DisassociateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disassociateAddressAsync( final DisassociateAddressRequest disassociateAddressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { disassociateAddress(disassociateAddressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disassociateAddressRequest, null); return null; } }); } /** *

* Creates a placement group that you launch cluster instances into. You * must give the group a name that's unique within the scope of your * account. *

*

* For more information about placement groups and cluster instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createPlacementGroupRequest Container for the necessary * parameters to execute the CreatePlacementGroup operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreatePlacementGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createPlacementGroupAsync(final CreatePlacementGroupRequest createPlacementGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createPlacementGroup(createPlacementGroupRequest); return null; } }); } /** *

* Creates a placement group that you launch cluster instances into. You * must give the group a name that's unique within the scope of your * account. *

*

* For more information about placement groups and cluster instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createPlacementGroupRequest Container for the necessary * parameters to execute the CreatePlacementGroup operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreatePlacementGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createPlacementGroupAsync( final CreatePlacementGroupRequest createPlacementGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createPlacementGroup(createPlacementGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createPlacementGroupRequest, null); return null; } }); } /** *

* Bundles an Amazon instance store-backed Windows instance. *

*

* During bundling, only the root device volume (C:\) is bundled. Data on * other instance store volumes is not preserved. *

*

* NOTE: This procedure is not applicable for Linux/Unix instances * or Windows instances that are backed by Amazon EBS. *

*

* For more information, see * Creating an Instance Store-Backed Windows AMI * . *

* * @param bundleInstanceRequest Container for the necessary parameters to * execute the BundleInstance operation on AmazonEC2. * * @return A Java Future object containing the response from the * BundleInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future bundleInstanceAsync(final BundleInstanceRequest bundleInstanceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public BundleInstanceResult call() throws Exception { return bundleInstance(bundleInstanceRequest); } }); } /** *

* Bundles an Amazon instance store-backed Windows instance. *

*

* During bundling, only the root device volume (C:\) is bundled. Data on * other instance store volumes is not preserved. *

*

* NOTE: This procedure is not applicable for Linux/Unix instances * or Windows instances that are backed by Amazon EBS. *

*

* For more information, see * Creating an Instance Store-Backed Windows AMI * . *

* * @param bundleInstanceRequest Container for the necessary parameters to * execute the BundleInstance operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * BundleInstance service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future bundleInstanceAsync( final BundleInstanceRequest bundleInstanceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public BundleInstanceResult call() throws Exception { BundleInstanceResult result; try { result = bundleInstance(bundleInstanceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(bundleInstanceRequest, result); return result; } }); } /** *

* Deletes the specified placement group. You must terminate all * instances in the placement group before you can delete the placement * group. For more information about placement groups and cluster * instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deletePlacementGroupRequest Container for the necessary * parameters to execute the DeletePlacementGroup operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeletePlacementGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deletePlacementGroupAsync(final DeletePlacementGroupRequest deletePlacementGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deletePlacementGroup(deletePlacementGroupRequest); return null; } }); } /** *

* Deletes the specified placement group. You must terminate all * instances in the placement group before you can delete the placement * group. For more information about placement groups and cluster * instances, see * Cluster Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @param deletePlacementGroupRequest Container for the necessary * parameters to execute the DeletePlacementGroup operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeletePlacementGroup service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deletePlacementGroupAsync( final DeletePlacementGroupRequest deletePlacementGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deletePlacementGroup(deletePlacementGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deletePlacementGroupRequest, null); return null; } }); } /** *

* Deletes the specified VPC. You must detach or delete all gateways and * resources that are associated with the VPC before you can delete it. * For example, you must terminate all instances running in the VPC, * delete all security groups associated with the VPC (except the default * one), delete all route tables associated with the VPC (except the * default one), and so on. *

* * @param deleteVpcRequest Container for the necessary parameters to * execute the DeleteVpc operation on AmazonEC2. * * @return A Java Future object containing the response from the * DeleteVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpcAsync(final DeleteVpcRequest deleteVpcRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVpc(deleteVpcRequest); return null; } }); } /** *

* Deletes the specified VPC. You must detach or delete all gateways and * resources that are associated with the VPC before you can delete it. * For example, you must terminate all instances running in the VPC, * delete all security groups associated with the VPC (except the default * one), delete all route tables associated with the VPC (except the * default one), and so on. *

* * @param deleteVpcRequest Container for the necessary parameters to * execute the DeleteVpc operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpcAsync( final DeleteVpcRequest deleteVpcRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVpc(deleteVpcRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpcRequest, null); return null; } }); } /** *

* Copies a point-in-time snapshot of an Amazon EBS volume and stores it * in Amazon S3. You can copy the snapshot within the same region or from * one region to another. You can use the snapshot to create Amazon EBS * volumes or Amazon Machine Images (AMIs). *

*

* For more information, see * Copying an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param copySnapshotRequest Container for the necessary parameters to * execute the CopySnapshot operation on AmazonEC2. * * @return A Java Future object containing the response from the * CopySnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future copySnapshotAsync(final CopySnapshotRequest copySnapshotRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CopySnapshotResult call() throws Exception { return copySnapshot(copySnapshotRequest); } }); } /** *

* Copies a point-in-time snapshot of an Amazon EBS volume and stores it * in Amazon S3. You can copy the snapshot within the same region or from * one region to another. You can use the snapshot to create Amazon EBS * volumes or Amazon Machine Images (AMIs). *

*

* For more information, see * Copying an Amazon EBS Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

* * @param copySnapshotRequest Container for the necessary parameters to * execute the CopySnapshot operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CopySnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future copySnapshotAsync( final CopySnapshotRequest copySnapshotRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CopySnapshotResult call() throws Exception { CopySnapshotResult result; try { result = copySnapshot(copySnapshotRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(copySnapshotRequest, result); return result; } }); } /** *

* Acquires an Elastic IP address. *

*

* An Elastic IP address is for use either in the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

* * @param allocateAddressRequest Container for the necessary parameters * to execute the AllocateAddress operation on AmazonEC2. * * @return A Java Future object containing the response from the * AllocateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future allocateAddressAsync(final AllocateAddressRequest allocateAddressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AllocateAddressResult call() throws Exception { return allocateAddress(allocateAddressRequest); } }); } /** *

* Acquires an Elastic IP address. *

*

* An Elastic IP address is for use either in the EC2-Classic platform or * in a VPC. For more information, see * Elastic IP Addresses * in the Amazon Elastic Compute Cloud User Guide . *

* * @param allocateAddressRequest Container for the necessary parameters * to execute the AllocateAddress operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AllocateAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future allocateAddressAsync( final AllocateAddressRequest allocateAddressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AllocateAddressResult call() throws Exception { AllocateAddressResult result; try { result = allocateAddress(allocateAddressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(allocateAddressRequest, result); return result; } }); } /** *

* Releases the specified Elastic IP address. *

*

* After releasing an Elastic IP address, it is released to the IP * address pool and might be unavailable to you. Be sure to update your * DNS records and any servers or devices that communicate with the * address. If you attempt to release an Elastic IP address that you * already released, you'll get an AuthFailure error if the * address is already allocated to another AWS account. *

*

* [EC2-Classic, default VPC] Releasing an Elastic IP address * automatically disassociates it from any instance that it's associated * with. To disassociate an Elastic IP address without releasing it, use * DisassociateAddress. *

*

* [Nondefault VPC] You must use the DisassociateAddress to disassociate * the Elastic IP address before you try to release it. Otherwise, Amazon * EC2 returns an error ( InvalidIPAddress.InUse ). *

* * @param releaseAddressRequest Container for the necessary parameters to * execute the ReleaseAddress operation on AmazonEC2. * * @return A Java Future object containing the response from the * ReleaseAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future releaseAddressAsync(final ReleaseAddressRequest releaseAddressRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { releaseAddress(releaseAddressRequest); return null; } }); } /** *

* Releases the specified Elastic IP address. *

*

* After releasing an Elastic IP address, it is released to the IP * address pool and might be unavailable to you. Be sure to update your * DNS records and any servers or devices that communicate with the * address. If you attempt to release an Elastic IP address that you * already released, you'll get an AuthFailure error if the * address is already allocated to another AWS account. *

*

* [EC2-Classic, default VPC] Releasing an Elastic IP address * automatically disassociates it from any instance that it's associated * with. To disassociate an Elastic IP address without releasing it, use * DisassociateAddress. *

*

* [Nondefault VPC] You must use the DisassociateAddress to disassociate * the Elastic IP address before you try to release it. Otherwise, Amazon * EC2 returns an error ( InvalidIPAddress.InUse ). *

* * @param releaseAddressRequest Container for the necessary parameters to * execute the ReleaseAddress operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReleaseAddress service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future releaseAddressAsync( final ReleaseAddressRequest releaseAddressRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { releaseAddress(releaseAddressRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(releaseAddressRequest, null); return null; } }); } /** *

* Resets an attribute of an instance to its default value. To reset the * kernel or RAM disk, the instance must be in a stopped state. To reset * the SourceDestCheck , the instance can be either running * or stopped. *

*

* The SourceDestCheck attribute controls whether * source/destination checking is enabled. The default value is * true , which means checking is enabled. This value must * be false for a NAT instance to perform NAT. For more * information, see * NAT Instances * in the Amazon Virtual Private Cloud User Guide . *

* * @param resetInstanceAttributeRequest Container for the necessary * parameters to execute the ResetInstanceAttribute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ResetInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetInstanceAttributeAsync(final ResetInstanceAttributeRequest resetInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resetInstanceAttribute(resetInstanceAttributeRequest); return null; } }); } /** *

* Resets an attribute of an instance to its default value. To reset the * kernel or RAM disk, the instance must be in a stopped state. To reset * the SourceDestCheck , the instance can be either running * or stopped. *

*

* The SourceDestCheck attribute controls whether * source/destination checking is enabled. The default value is * true , which means checking is enabled. This value must * be false for a NAT instance to perform NAT. For more * information, see * NAT Instances * in the Amazon Virtual Private Cloud User Guide . *

* * @param resetInstanceAttributeRequest Container for the necessary * parameters to execute the ResetInstanceAttribute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResetInstanceAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetInstanceAttributeAsync( final ResetInstanceAttributeRequest resetInstanceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resetInstanceAttribute(resetInstanceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resetInstanceAttributeRequest, null); return null; } }); } /** *

* Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 * stores the public key and displays the private key for you to save to * a file. The private key is returned as an unencrypted PEM encoded * PKCS#8 private key. If a key with the specified name already exists, * Amazon EC2 returns an error. *

*

* You can have up to five thousand key pairs per region. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createKeyPairRequest Container for the necessary parameters to * execute the CreateKeyPair operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createKeyPairAsync(final CreateKeyPairRequest createKeyPairRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateKeyPairResult call() throws Exception { return createKeyPair(createKeyPairRequest); } }); } /** *

* Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 * stores the public key and displays the private key for you to save to * a file. The private key is returned as an unencrypted PEM encoded * PKCS#8 private key. If a key with the specified name already exists, * Amazon EC2 returns an error. *

*

* You can have up to five thousand key pairs per region. *

*

* For more information about key pairs, see * Key Pairs * in the Amazon Elastic Compute Cloud User Guide . *

* * @param createKeyPairRequest Container for the necessary parameters to * execute the CreateKeyPair operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateKeyPair service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createKeyPairAsync( final CreateKeyPairRequest createKeyPairRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateKeyPairResult call() throws Exception { CreateKeyPairResult result; try { result = createKeyPair(createKeyPairRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createKeyPairRequest, result); return result; } }); } /** *

* Replaces an entry (rule) in a network ACL. For more information about * network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceNetworkAclEntryRequest Container for the necessary * parameters to execute the ReplaceNetworkAclEntry operation on * AmazonEC2. * * @return A Java Future object containing the response from the * ReplaceNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceNetworkAclEntryAsync(final ReplaceNetworkAclEntryRequest replaceNetworkAclEntryRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { replaceNetworkAclEntry(replaceNetworkAclEntryRequest); return null; } }); } /** *

* Replaces an entry (rule) in a network ACL. For more information about * network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param replaceNetworkAclEntryRequest Container for the necessary * parameters to execute the ReplaceNetworkAclEntry operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ReplaceNetworkAclEntry service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future replaceNetworkAclEntryAsync( final ReplaceNetworkAclEntryRequest replaceNetworkAclEntryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { replaceNetworkAclEntry(replaceNetworkAclEntryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(replaceNetworkAclEntryRequest, null); return null; } }); } /** *

* Describes one or more of the Amazon EBS snapshots available to you. * Available snapshots include public snapshots available for any AWS * account to launch, private snapshots that you own, and private * snapshots owned by another AWS account but for which you've been given * explicit create volume permissions. *

*

* The create volume permissions fall into the following categories: *

* *
    *
  • public : The owner of the snapshot granted create volume * permissions for the snapshot to the all group. All AWS * accounts have create volume permissions for these snapshots.
  • *
  • explicit : The owner of the snapshot granted create * volume permissions to a specific AWS account.
  • *
  • implicit : An AWS account has implicit create volume * permissions for all snapshots it owns.
  • * *
*

* The list of snapshots returned can be modified by specifying snapshot * IDs, snapshot owners, or AWS accounts with create volume permissions. * If no options are specified, Amazon EC2 returns all snapshots for * which you have create volume permissions. *

*

* If you specify one or more snapshot IDs, only snapshots that have the * specified IDs are returned. If you specify an invalid snapshot ID, an * error is returned. If you specify a snapshot ID for which you do not * have access, it is not included in the returned results. *

*

* If you specify one or more snapshot owners, only snapshots from the * specified owners and for which you have access are returned. The * results can include the AWS account IDs of the specified owners, * amazon for snapshots owned by Amazon, or * self for snapshots that you own. *

*

* If you specify a list of restorable users, only snapshots with create * snapshot permissions for those users are returned. You can specify AWS * account IDs (if you own the snapshots), self for * snapshots for which you own or have explicit permissions, or * all for public snapshots. *

*

* For more information about Amazon EBS snapshots, see * Amazon EBS Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSnapshotsRequest Container for the necessary parameters * to execute the DescribeSnapshots operation on AmazonEC2. * * @return A Java Future object containing the response from the * DescribeSnapshots service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotsAsync(final DescribeSnapshotsRequest describeSnapshotsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotsResult call() throws Exception { return describeSnapshots(describeSnapshotsRequest); } }); } /** *

* Describes one or more of the Amazon EBS snapshots available to you. * Available snapshots include public snapshots available for any AWS * account to launch, private snapshots that you own, and private * snapshots owned by another AWS account but for which you've been given * explicit create volume permissions. *

*

* The create volume permissions fall into the following categories: *

* *
    *
  • public : The owner of the snapshot granted create volume * permissions for the snapshot to the all group. All AWS * accounts have create volume permissions for these snapshots.
  • *
  • explicit : The owner of the snapshot granted create * volume permissions to a specific AWS account.
  • *
  • implicit : An AWS account has implicit create volume * permissions for all snapshots it owns.
  • * *
*

* The list of snapshots returned can be modified by specifying snapshot * IDs, snapshot owners, or AWS accounts with create volume permissions. * If no options are specified, Amazon EC2 returns all snapshots for * which you have create volume permissions. *

*

* If you specify one or more snapshot IDs, only snapshots that have the * specified IDs are returned. If you specify an invalid snapshot ID, an * error is returned. If you specify a snapshot ID for which you do not * have access, it is not included in the returned results. *

*

* If you specify one or more snapshot owners, only snapshots from the * specified owners and for which you have access are returned. The * results can include the AWS account IDs of the specified owners, * amazon for snapshots owned by Amazon, or * self for snapshots that you own. *

*

* If you specify a list of restorable users, only snapshots with create * snapshot permissions for those users are returned. You can specify AWS * account IDs (if you own the snapshots), self for * snapshots for which you own or have explicit permissions, or * all for public snapshots. *

*

* For more information about Amazon EBS snapshots, see * Amazon EBS Snapshots * in the Amazon Elastic Compute Cloud User Guide . *

* * @param describeSnapshotsRequest Container for the necessary parameters * to execute the DescribeSnapshots operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSnapshots service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotsAsync( final DescribeSnapshotsRequest describeSnapshotsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotsResult call() throws Exception { DescribeSnapshotsResult result; try { result = describeSnapshots(describeSnapshotsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSnapshotsRequest, result); return result; } }); } /** *

* Creates a network ACL in a VPC. Network ACLs provide an optional layer * of security (in addition to security groups) for the instances in your * VPC. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param createNetworkAclRequest Container for the necessary parameters * to execute the CreateNetworkAcl operation on AmazonEC2. * * @return A Java Future object containing the response from the * CreateNetworkAcl service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkAclAsync(final CreateNetworkAclRequest createNetworkAclRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateNetworkAclResult call() throws Exception { return createNetworkAcl(createNetworkAclRequest); } }); } /** *

* Creates a network ACL in a VPC. Network ACLs provide an optional layer * of security (in addition to security groups) for the instances in your * VPC. *

*

* For more information about network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *

* * @param createNetworkAclRequest Container for the necessary parameters * to execute the CreateNetworkAcl operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateNetworkAcl service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNetworkAclAsync( final CreateNetworkAclRequest createNetworkAclRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateNetworkAclResult call() throws Exception { CreateNetworkAclResult result; try { result = createNetworkAcl(createNetworkAclRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createNetworkAclRequest, result); return result; } }); } /** *

* Registers an AMI. When you're creating an AMI, this is the final step * you must complete before you can launch an instance from the AMI. For * more information about creating AMIs, see * Creating Your Own AMIs * in the Amazon Elastic Compute Cloud User Guide . *

*

* NOTE: For Amazon EBS-backed instances, CreateImage creates and * registers the AMI in a single request, so you don't have to register * the AMI yourself. *

*

* You can also use RegisterImage to create an Amazon * EBS-backed AMI from a snapshot of a root device volume. For more * information, see * Launching an Instance from a Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

*

* If needed, you can deregister an AMI at any time. Any modifications * you make to an AMI backed by an instance store volume invalidates its * registration. If you make changes to an image, deregister the previous * image and register the new image. *

*

* NOTE: You can't register an image where a secondary (non-root) * snapshot has AWS Marketplace product codes. *

* * @param registerImageRequest Container for the necessary parameters to * execute the RegisterImage operation on AmazonEC2. * * @return A Java Future object containing the response from the * RegisterImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future registerImageAsync(final RegisterImageRequest registerImageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RegisterImageResult call() throws Exception { return registerImage(registerImageRequest); } }); } /** *

* Registers an AMI. When you're creating an AMI, this is the final step * you must complete before you can launch an instance from the AMI. For * more information about creating AMIs, see * Creating Your Own AMIs * in the Amazon Elastic Compute Cloud User Guide . *

*

* NOTE: For Amazon EBS-backed instances, CreateImage creates and * registers the AMI in a single request, so you don't have to register * the AMI yourself. *

*

* You can also use RegisterImage to create an Amazon * EBS-backed AMI from a snapshot of a root device volume. For more * information, see * Launching an Instance from a Snapshot * in the Amazon Elastic Compute Cloud User Guide . *

*

* If needed, you can deregister an AMI at any time. Any modifications * you make to an AMI backed by an instance store volume invalidates its * registration. If you make changes to an image, deregister the previous * image and register the new image. *

*

* NOTE: You can't register an image where a secondary (non-root) * snapshot has AWS Marketplace product codes. *

* * @param registerImageRequest Container for the necessary parameters to * execute the RegisterImage operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RegisterImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future registerImageAsync( final RegisterImageRequest registerImageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RegisterImageResult call() throws Exception { RegisterImageResult result; try { result = registerImage(registerImageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(registerImageRequest, result); return result; } }); } /** *

* Resets a network interface attribute. You can specify only one * attribute at a time. *

* * @param resetNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the ResetNetworkInterfaceAttribute * operation on AmazonEC2. * * @return A Java Future object containing the response from the * ResetNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetNetworkInterfaceAttributeAsync(final ResetNetworkInterfaceAttributeRequest resetNetworkInterfaceAttributeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resetNetworkInterfaceAttribute(resetNetworkInterfaceAttributeRequest); return null; } }); } /** *

* Resets a network interface attribute. You can specify only one * attribute at a time. *

* * @param resetNetworkInterfaceAttributeRequest Container for the * necessary parameters to execute the ResetNetworkInterfaceAttribute * operation on AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResetNetworkInterfaceAttribute service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future resetNetworkInterfaceAttributeAsync( final ResetNetworkInterfaceAttributeRequest resetNetworkInterfaceAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resetNetworkInterfaceAttribute(resetNetworkInterfaceAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resetNetworkInterfaceAttributeRequest, null); return null; } }); } /** *

* Creates a static route associated with a VPN connection between an * existing virtual private gateway and a VPN customer gateway. The * static route allows traffic to be routed from the virtual private * gateway to the VPN customer gateway. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnConnectionRouteRequest Container for the necessary * parameters to execute the CreateVpnConnectionRoute operation on * AmazonEC2. * * @return A Java Future object containing the response from the * CreateVpnConnectionRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnConnectionRouteAsync(final CreateVpnConnectionRouteRequest createVpnConnectionRouteRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createVpnConnectionRoute(createVpnConnectionRouteRequest); return null; } }); } /** *

* Creates a static route associated with a VPN connection between an * existing virtual private gateway and a VPN customer gateway. The * static route allows traffic to be routed from the virtual private * gateway to the VPN customer gateway. *

*

* For more information about VPN connections, see * Adding a Hardware Virtual Private Gateway to Your VPC * in the Amazon Virtual Private Cloud User Guide . *

* * @param createVpnConnectionRouteRequest Container for the necessary * parameters to execute the CreateVpnConnectionRoute operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVpnConnectionRoute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpnConnectionRouteAsync( final CreateVpnConnectionRouteRequest createVpnConnectionRouteRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createVpnConnectionRoute(createVpnConnectionRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpnConnectionRouteRequest, null); return null; } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy