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 AWS Android SDK for Amazon EC2 module holds the client classes that are used for communicating with Amazon EC2 Service

There is a newer version: 2.79.0
Show newest version
/*
 * Copyright 2010-2016 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 = 10; /** * 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 */ @Deprecated 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 */ @Deprecated 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(); } /** *

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

* 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 * . *

* *
    *
  • domain-name-servers - The IP addresses of up to * four domain name servers, or AmazonProvidedDNS . The * default DHCP option set specifies AmazonProvidedDNS . If * specifying more than one domain name server, specify the IP addresses * in a single parameter, separated by commas.
  • *
  • domain-name - If you're using AmazonProvidedDNS in * us-east-1 , specify ec2.internal . If you're * using AmazonProvidedDNS in another region, specify * region.compute.internal (for example, * ap-northeast-1.compute.internal ). Otherwise, specify a * domain name (for example, MyCompany.com ). * Important : Some Linux operating systems accept multiple domain * names separated by spaces. However, Windows and other Linux operating * systems treat the value as a single domain, which results in * unexpected behavior. If your DHCP options set is associated with a VPC * that has instances with multiple operating systems, specify only one * domain name.
  • *
  • ntp-servers - The IP addresses of up to four * Network Time Protocol (NTP) servers.
  • *
  • netbios-name-servers - The IP addresses of up to * four NetBIOS name servers.
  • *
  • netbios-node-type - The NetBIOS node type (1, 2, 4, * or 8). We recommend that you specify 2 (broadcast and multicast are * not currently supported). For more information about these node types, * see * RFC 2132 * .
  • * *
*

* Your VPC automatically starts out with a set of DHCP options that * includes only a DNS server that we provide (AmazonProvidedDNS). If you * create a set of options, and if your VPC has an Internet gateway, make * sure to set the domain-name-servers option either to * AmazonProvidedDNS or to a domain name server of your * choice. 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 * . *

* *
    *
  • domain-name-servers - The IP addresses of up to * four domain name servers, or AmazonProvidedDNS . The * default DHCP option set specifies AmazonProvidedDNS . If * specifying more than one domain name server, specify the IP addresses * in a single parameter, separated by commas.
  • *
  • domain-name - If you're using AmazonProvidedDNS in * us-east-1 , specify ec2.internal . If you're * using AmazonProvidedDNS in another region, specify * region.compute.internal (for example, * ap-northeast-1.compute.internal ). Otherwise, specify a * domain name (for example, MyCompany.com ). * Important : Some Linux operating systems accept multiple domain * names separated by spaces. However, Windows and other Linux operating * systems treat the value as a single domain, which results in * unexpected behavior. If your DHCP options set is associated with a VPC * that has instances with multiple operating systems, specify only one * domain name.
  • *
  • ntp-servers - The IP addresses of up to four * Network Time Protocol (NTP) servers.
  • *
  • netbios-name-servers - The IP addresses of up to * four NetBIOS name servers.
  • *
  • netbios-node-type - The NetBIOS node type (1, 2, 4, * or 8). We recommend that you specify 2 (broadcast and multicast are * not currently supported). For more information about these node types, * see * RFC 2132 * .
  • * *
*

* Your VPC automatically starts out with a set of DHCP options that * includes only a DNS server that we provide (AmazonProvidedDNS). If you * create a set of options, and if your VPC has an Internet gateway, make * sure to set the domain-name-servers option either to * AmazonProvidedDNS or to a domain name server of your * choice. 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; } }); } /** *

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

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

* 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. *

*

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

* * @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. *

*

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

* * @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; } }); } /** *

* Imports a disk into an EBS snapshot. *

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

* Imports a disk into an EBS snapshot. *

* * @param importSnapshotRequest Container for the necessary parameters to * execute the ImportSnapshot 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 * ImportSnapshot service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importSnapshotAsync( final ImportSnapshotRequest importSnapshotRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportSnapshotResult call() throws Exception { ImportSnapshotResult result; try { result = importSnapshot(importSnapshotRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importSnapshotRequest, 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 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, any attached EBS * volumes with the DeleteOnTermination block device mapping * parameter set to true 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 . *

*

* For more information about troubleshooting, see * Troubleshooting Terminating Your Instance * 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 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, any attached EBS * volumes with the DeleteOnTermination block device mapping * parameter set to true 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 . *

*

* For more information about troubleshooting, see * Troubleshooting Terminating Your Instance * 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; } }); } /** *

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

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

* 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. *

*

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

* * @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. *

*

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

* * @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; } }); } /** *

* Creates an import instance task using metadata from the specified * disk image. ImportInstance only supports single-volume * VMs. To import multi-volume VMs, use ImportImage. After importing the * image, you then upload it using the ec2-import-volume * 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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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. ImportInstance only supports single-volume * VMs. To import multi-volume VMs, use ImportImage. After importing the * image, you then upload it using the ec2-import-volume * 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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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; } }); } /** *

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

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

*

* Encrypted EBS volumes may only be attached to instances that support * Amazon EBS encryption. For more information, see * Amazon EBS Encryption * in the Amazon Elastic Compute Cloud User Guide . *

*

* For a list of supported device names, see * Attaching an EBS Volume to an Instance . Any device names that aren't reserved for instance store volumes can be used for 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 be attached only to a stopped instance.
  • *
  • AWS Marketplace product codes are copied from the volume to the * instance.
  • *
  • You must be subscribed to the product.
  • *
  • The instance type and operating system of the instance must * support the product. For example, you can't detach a volume from a * Windows instance and attach it to a Linux instance.
  • * *
*

* For an overview of the AWS Marketplace, see * Introducing AWS Marketplace * . *

*

* For more information about 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 EBS volume to a running or stopped instance and exposes * it to the instance with the specified device name. *

*

* Encrypted EBS volumes may only be attached to instances that support * Amazon EBS encryption. For more information, see * Amazon EBS Encryption * in the Amazon Elastic Compute Cloud User Guide . *

*

* For a list of supported device names, see * Attaching an EBS Volume to an Instance . Any device names that aren't reserved for instance store volumes can be used for 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 be attached only to a stopped instance.
  • *
  • AWS Marketplace product codes are copied from the volume to the * instance.
  • *
  • You must be subscribed to the product.
  • *
  • The instance type and operating system of the instance must * support the product. For example, you can't detach a volume from a * Windows instance and attach it to a Linux instance.
  • * *
*

* For an overview of the AWS Marketplace, see * Introducing AWS Marketplace * . *

*

* For more information about 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; } }); } /** *

* Disables ClassicLink DNS support for a VPC. If disabled, DNS * hostnames resolve to public IP addresses when addressed between a * linked EC2-Classic instance and instances in the VPC to which it's * linked. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

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

* Disables ClassicLink DNS support for a VPC. If disabled, DNS * hostnames resolve to public IP addresses when addressed between a * linked EC2-Classic instance and instances in the VPC to which it's * linked. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

* * @param disableVpcClassicLinkDnsSupportRequest Container for the * necessary parameters to execute the DisableVpcClassicLinkDnsSupport * 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 * DisableVpcClassicLinkDnsSupport service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disableVpcClassicLinkDnsSupportAsync( final DisableVpcClassicLinkDnsSupportRequest disableVpcClassicLinkDnsSupportRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableVpcClassicLinkDnsSupportResult call() throws Exception { DisableVpcClassicLinkDnsSupportResult result; try { result = disableVpcClassicLinkDnsSupport(disableVpcClassicLinkDnsSupportRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableVpcClassicLinkDnsSupportRequest, 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; } }); } /** *

* Enables a virtual private gateway (VGW) to propagate routes to the * specified route table 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 * specified route table 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; } }); } /** *

* Allocates a Dedicated host to your account. At minimum you need to * specify the instance size type, Availability Zone, and quantity of * hosts you want to allocate. *

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

* Allocates a Dedicated host to your account. At minimum you need to * specify the instance size type, Availability Zone, and quantity of * hosts you want to allocate. *

* * @param allocateHostsRequest Container for the necessary parameters to * execute the AllocateHosts 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 * AllocateHosts service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future allocateHostsAsync( final AllocateHostsRequest allocateHostsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AllocateHostsResult call() throws Exception { AllocateHostsResult result; try { result = allocateHosts(allocateHostsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(allocateHostsRequest, result); return result; } }); } /** *

* Describes the ClassicLink status of one or more VPCs. *

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

* Describes the ClassicLink status of one or more VPCs. *

* * @param describeVpcClassicLinkRequest Container for the necessary * parameters to execute the DescribeVpcClassicLink 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 * DescribeVpcClassicLink service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcClassicLinkAsync( final DescribeVpcClassicLinkRequest describeVpcClassicLinkRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcClassicLinkResult call() throws Exception { DescribeVpcClassicLinkResult result; try { result = describeVpcClassicLink(describeVpcClassicLinkRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcClassicLinkRequest, 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; } }); } /** *

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

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

* Launches the specified Scheduled Instances. *

*

* Before you can launch a Scheduled Instance, you must purchase it and * obtain an identifier using PurchaseScheduledInstances. *

*

* You must launch a Scheduled Instance during its scheduled time * period. You can't stop or reboot a Scheduled Instance, but you can * terminate it as needed. If you terminate a Scheduled Instance before * the current scheduled time period ends, you can launch it again after * a few minutes. *

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

* Launches the specified Scheduled Instances. *

*

* Before you can launch a Scheduled Instance, you must purchase it and * obtain an identifier using PurchaseScheduledInstances. *

*

* You must launch a Scheduled Instance during its scheduled time * period. You can't stop or reboot a Scheduled Instance, but you can * terminate it as needed. If you terminate a Scheduled Instance before * the current scheduled time period ends, you can launch it again after * a few minutes. *

* * @param runScheduledInstancesRequest Container for the necessary * parameters to execute the RunScheduledInstances 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 * RunScheduledInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future runScheduledInstancesAsync( final RunScheduledInstancesRequest runScheduledInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RunScheduledInstancesResult call() throws Exception { RunScheduledInstancesResult result; try { result = runScheduledInstances(runScheduledInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(runScheduledInstancesRequest, result); return result; } }); } /** *

* Import single or multi-volume disk images or EBS snapshots into an * Amazon Machine Image (AMI). *

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

* Import single or multi-volume disk images or EBS snapshots into an * Amazon Machine Image (AMI). *

* * @param importImageRequest Container for the necessary parameters to * execute the ImportImage 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 * ImportImage service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future importImageAsync( final ImportImageRequest importImageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportImageResult call() throws Exception { ImportImageResult result; try { result = importImage(importImageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importImageRequest, 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 the specified EBS volume. The volume must be in the * available state (not attached to an instance). *

*

* NOTE: The volume may remain 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 EBS volume. The volume must be in the * available state (not attached to an instance). *

*

* NOTE: The volume may remain 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; } }); } /** *

* Describes your Elastic IP addresses that are being moved to the * EC2-VPC platform, or that are being restored to the EC2-Classic * platform. This request does not return information about any other * Elastic IP addresses in your account. *

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

* Describes your Elastic IP addresses that are being moved to the * EC2-VPC platform, or that are being restored to the EC2-Classic * platform. This request does not return information about any other * Elastic IP addresses in your account. *

* * @param describeMovingAddressesRequest Container for the necessary * parameters to execute the DescribeMovingAddresses 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 * DescribeMovingAddresses service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeMovingAddressesAsync( final DescribeMovingAddressesRequest describeMovingAddressesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeMovingAddressesResult call() throws Exception { DescribeMovingAddressesResult result; try { result = describeMovingAddresses(describeMovingAddressesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeMovingAddressesRequest, result); return result; } }); } /** *

* Describes one or more of your VPC endpoints. *

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

* Describes one or more of your VPC endpoints. *

* * @param describeVpcEndpointsRequest Container for the necessary * parameters to execute the DescribeVpcEndpoints 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 * DescribeVpcEndpoints service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcEndpointsAsync( final DescribeVpcEndpointsRequest describeVpcEndpointsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcEndpointsResult call() throws Exception { DescribeVpcEndpointsResult result; try { result = describeVpcEndpoints(describeVpcEndpointsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcEndpointsRequest, result); return result; } }); } /** *

* 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 one or more of your linked EC2-Classic instances. This * request only returns information about EC2-Classic instances linked to * a VPC through ClassicLink; you cannot use this request to return * information about other instances. *

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

* Describes one or more of your linked EC2-Classic instances. This * request only returns information about EC2-Classic instances linked to * a VPC through ClassicLink; you cannot use this request to return * information about other instances. *

* * @param describeClassicLinkInstancesRequest Container for the necessary * parameters to execute the DescribeClassicLinkInstances 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 * DescribeClassicLinkInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeClassicLinkInstancesAsync( final DescribeClassicLinkInstancesRequest describeClassicLinkInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeClassicLinkInstancesResult call() throws Exception { DescribeClassicLinkInstancesResult result; try { result = describeClassicLinkInstances(describeClassicLinkInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeClassicLinkInstancesRequest, 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. *

*

* If you have listed your own Reserved Instances for sale in the * Reserved Instance Marketplace, they will be excluded from these * results. This is to ensure that you do not purchase your own Reserved * Instances. *

*

* 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. *

*

* If you have listed your own Reserved Instances for sale in the * Reserved Instance Marketplace, they will be excluded from these * results. This is to ensure that you do not purchase your own Reserved * Instances. *

*

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

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

* 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. *

*

* To ensure faster instance launches, break up large requests into * smaller batches. For example, create five separate launch requests for * 100 instances each instead of one launch request for 500 instances. *

*

* 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 . *

*

* [EC2-VPC only accounts] If you don't specify a subnet in the request, * we choose a default subnet from your default VPC for you. *

*

* [EC2-Classic accounts] If you're launching into EC2-Classic and you * don't specify an Availability Zone, we choose one for you. *

*

* 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. *

*

* Some instance types can only be launched into a VPC. If you do not * have a default VPC, or if you do not specify a subnet ID in the * request, RunInstances fails. For more information, see * Instance Types Available Only in a VPC * . *

*

* For more information about troubleshooting, see * What To Do If An Instance Immediately Terminates , and Troubleshooting Connecting to Your Instance * in the Amazon Elastic Compute Cloud User Guide . *

* * @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. *

*

* To ensure faster instance launches, break up large requests into * smaller batches. For example, create five separate launch requests for * 100 instances each instead of one launch request for 500 instances. *

*

* 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 . *

*

* [EC2-VPC only accounts] If you don't specify a subnet in the request, * we choose a default subnet from your default VPC for you. *

*

* [EC2-Classic accounts] If you're launching into EC2-Classic and you * don't specify an Availability Zone, we choose one for you. *

*

* 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. *

*

* Some instance types can only be launched into a VPC. If you do not * have a default VPC, or if you do not specify a subnet ID in the * request, RunInstances fails. For more information, see * Instance Types Available Only in a VPC * . *

*

* For more information about troubleshooting, see * What To Do If An Instance Immediately Terminates , and Troubleshooting Connecting to Your Instance * in the Amazon Elastic Compute Cloud User Guide . *

* * @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; } }); } /** *

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

* Describes the events for the specified Spot fleet request during the * specified time. *

*

* Spot fleet events are delayed by up to 30 seconds before they can be * described. This ensures that you can query by the last evaluated time * and not miss a recorded event. *

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

* Describes the events for the specified Spot fleet request during the * specified time. *

*

* Spot fleet events are delayed by up to 30 seconds before they can be * described. This ensures that you can query by the last evaluated time * and not miss a recorded event. *

* * @param describeSpotFleetRequestHistoryRequest Container for the * necessary parameters to execute the DescribeSpotFleetRequestHistory * 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 * DescribeSpotFleetRequestHistory service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotFleetRequestHistoryAsync( final DescribeSpotFleetRequestHistoryRequest describeSpotFleetRequestHistoryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotFleetRequestHistoryResult call() throws Exception { DescribeSpotFleetRequestHistoryResult result; try { result = describeSpotFleetRequestHistory(describeSpotFleetRequestHistoryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotFleetRequestHistoryRequest, result); return result; } }); } /** *

* Creates a data feed 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 Instance Data Feed * 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 data feed 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 Instance Data Feed * 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; } }); } /** *

* Restores an Elastic IP address that was previously moved to the * EC2-VPC platform back to the EC2-Classic platform. You cannot move an * Elastic IP address that was originally allocated for use in EC2-VPC. * The Elastic IP address must not be associated with an instance or * network interface. You cannot restore an Elastic IP address that's * associated with a reverse DNS record. Contact AWS account and billing * support to remove the reverse DNS record. *

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

* Restores an Elastic IP address that was previously moved to the * EC2-VPC platform back to the EC2-Classic platform. You cannot move an * Elastic IP address that was originally allocated for use in EC2-VPC. * The Elastic IP address must not be associated with an instance or * network interface. You cannot restore an Elastic IP address that's * associated with a reverse DNS record. Contact AWS account and billing * support to remove the reverse DNS record. *

* * @param restoreAddressToClassicRequest Container for the necessary * parameters to execute the RestoreAddressToClassic 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 * RestoreAddressToClassic service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future restoreAddressToClassicAsync( final RestoreAddressToClassicRequest restoreAddressToClassicRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RestoreAddressToClassicResult call() throws Exception { RestoreAddressToClassicResult result; try { result = restoreAddressToClassic(restoreAddressToClassicRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(restoreAddressToClassicRequest, result); return result; } }); } /** *

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

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

* [EC2-VPC only] 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 destination CIDR IP address ranges, or to one * or more destination security groups for the same 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 . *

*

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

*

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

* [EC2-VPC only] 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 destination CIDR IP address ranges, or to one * or more destination security groups for the same 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 . *

*

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

*

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

* Copies a point-in-time snapshot of an 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 EBS volumes * or Amazon Machine Images (AMIs). The snapshot is copied to the * regional endpoint that you send the HTTP request to. *

*

* Copies of encrypted EBS snapshots remain encrypted. Copies of * unencrypted snapshots remain unencrypted, unless the * Encrypted flag is specified during the snapshot copy * operation. By default, encrypted snapshot copies use the default AWS * Key Management Service (AWS KMS) customer master key (CMK); however, * you can specify a non-default CMK with the KmsKeyId * parameter. *

*

* 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 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 EBS volumes * or Amazon Machine Images (AMIs). The snapshot is copied to the * regional endpoint that you send the HTTP request to. *

*

* Copies of encrypted EBS snapshots remain encrypted. Copies of * unencrypted snapshots remain unencrypted, unless the * Encrypted flag is specified during the snapshot copy * operation. By default, encrypted snapshot copies use the default AWS * Key Management Service (AWS KMS) customer master key (CMK); however, * you can specify a non-default CMK with the KmsKeyId * parameter. *

*

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

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

* Describes the specified attribute of the specified instance. You can * specify only one attribute at a time. Valid attribute values are: * instanceType | kernel | ramdisk * | userData | disableApiTermination | * instanceInitiatedShutdownBehavior | * rootDeviceName | blockDeviceMapping | * productCodes | sourceDestCheck | * groupSet | ebsOptimized | * sriovNetSupport *

* * @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. Valid attribute values are: * instanceType | kernel | ramdisk * | userData | disableApiTermination | * instanceInitiatedShutdownBehavior | * rootDeviceName | blockDeviceMapping | * productCodes | sourceDestCheck | * groupSet | ebsOptimized | * sriovNetSupport *

* * @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 the running instances for the specified Spot fleet. *

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

* Describes the running instances for the specified Spot fleet. *

* * @param describeSpotFleetInstancesRequest Container for the necessary * parameters to execute the DescribeSpotFleetInstances 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 * DescribeSpotFleetInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotFleetInstancesAsync( final DescribeSpotFleetInstancesRequest describeSpotFleetInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotFleetInstancesResult call() throws Exception { DescribeSpotFleetInstancesResult result; try { result = describeSpotFleetInstances(describeSpotFleetInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotFleetInstancesRequest, 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; } }); } /** *

* Describes the Spot price history. The prices returned are listed in * chronological order, from the oldest to the most recent, for up to the * past 90 days. For more information, see * Spot Instance Pricing History * in the Amazon Elastic Compute Cloud User Guide . *

*

* When you specify a start and end time, this operation returns the * prices of the instance types within the time range that you specified * and the time when the price changed. The price is valid within the * time period that you specified; the response merely indicates the last * time that the price changed. *

* * @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. The prices returned are listed in * chronological order, from the oldest to the most recent, for up to the * past 90 days. For more information, see * Spot Instance Pricing History * in the Amazon Elastic Compute Cloud User Guide . *

*

* When you specify a start and end time, this operation returns the * prices of the instance types within the time range that you specified * and the time when the price changed. The price is valid within the * time period that you specified; the response merely indicates the last * time that the price changed. *

* * @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; } }); } /** *

* Displays details about an import virtual machine or import snapshot * tasks that are already created. *

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

* Displays details about an import virtual machine or import snapshot * tasks that are already created. *

* * @param describeImportImageTasksRequest Container for the necessary * parameters to execute the DescribeImportImageTasks 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 * DescribeImportImageTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImportImageTasksAsync( final DescribeImportImageTasksRequest describeImportImageTasksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImportImageTasksResult call() throws Exception { DescribeImportImageTasksResult result; try { result = describeImportImageTasks(describeImportImageTasksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeImportImageTasksRequest, result); return result; } }); } /** *

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

* Describes one or more of your Dedicated hosts. *

*

* The results describe only the Dedicated hosts in the region you're * currently using. All listed instances consume capacity on your * Dedicated host. Dedicated hosts that have recently been released will * be listed with the state released . *

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

* Describes one or more of your Dedicated hosts. *

*

* The results describe only the Dedicated hosts in the region you're * currently using. All listed instances consume capacity on your * Dedicated host. Dedicated hosts that have recently been released will * be listed with the state released . *

* * @param describeHostsRequest Container for the necessary parameters to * execute the DescribeHosts 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 * DescribeHosts service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeHostsAsync( final DescribeHostsRequest describeHostsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeHostsResult call() throws Exception { DescribeHostsResult result; try { result = describeHosts(describeHostsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeHostsRequest, 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; } }); } /** *

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

*

* The Windows password is generated at boot if the * EC2Config service plugin, Ec2SetPassword , * is enabled. This usually only happens the first time an AMI is * launched, and then Ec2SetPassword is automatically * disabled. The password is not generated for rebundled AMIs unless * Ec2SetPassword is enabled before bundling. *

*

* 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 generated at boot if the * EC2Config service plugin, Ec2SetPassword , * is enabled. This usually only happens the first time an AMI is * launched, and then Ec2SetPassword is automatically * disabled. The password is not generated for rebundled AMIs unless * Ec2SetPassword is enabled before bundling. *

*

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

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

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

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

* Replaces an existing route within a route table in a VPC. You must * provide only one of the following: Internet gateway or virtual private * gateway, NAT instance, NAT gateway, 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 or virtual private * gateway, NAT instance, NAT gateway, 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; } }); } /** *

* Purchases one or more Scheduled Instances with the specified * schedule. *

*

* Scheduled Instances enable you to purchase Amazon EC2 compute * capacity by the hour for a one-year term. Before you can purchase a * Scheduled Instance, you must call * DescribeScheduledInstanceAvailability to check for available schedules * and obtain a purchase token. *

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

* Purchases one or more Scheduled Instances with the specified * schedule. *

*

* Scheduled Instances enable you to purchase Amazon EC2 compute * capacity by the hour for a one-year term. Before you can purchase a * Scheduled Instance, you must call * DescribeScheduledInstanceAvailability to check for available schedules * and obtain a purchase token. *

* * @param purchaseScheduledInstancesRequest Container for the necessary * parameters to execute the PurchaseScheduledInstances 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 * PurchaseScheduledInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future purchaseScheduledInstancesAsync( final PurchaseScheduledInstancesRequest purchaseScheduledInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public PurchaseScheduledInstancesResult call() throws Exception { PurchaseScheduledInstancesResult result; try { result = purchaseScheduledInstances(purchaseScheduledInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(purchaseScheduledInstancesRequest, result); return result; } }); } /** *

* Describes one or more of your route tables. *

*

* Each subnet in your VPC must be associated with a route table. If a * subnet is not explicitly associated with any route table, it is * implicitly associated with the main route table. This command does not * return the subnet ID for implicit associations. *

*

* 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. *

*

* Each subnet in your VPC must be associated with a route table. If a * subnet is not explicitly associated with any route table, it is * implicitly associated with the main route table. This command does not * return the subnet ID for implicit associations. *

*

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

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

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

* 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, VPC in an EC2-VPC-only account] If the Elastic IP * address is already associated with a different instance, it is * disassociated from that instance and associated with the specified * instance. *

*

* [VPC in an EC2-Classic account] 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, VPC in an EC2-VPC-only account] If the Elastic IP * address is already associated with a different instance, it is * disassociated from that instance and associated with the specified * instance. *

*

* [VPC in an EC2-Classic account] 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; } }); } /** *

* Describes the status of one or more instances. *

*

* Instance status includes the following components: *

* *
    *
  • * Status checks - Amazon EC2 performs status checks on running * EC2 instances to identify hardware and software issues. For more * information, see * Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • *
  • * Scheduled events - Amazon EC2 can schedule events (such as * reboot, stop, or terminate) for your instances related to hardware * issues, software updates, or system maintenance. For more information, * see * Scheduled Events for Your Instances * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • *
  • * Instance state - You can manage your instances from the moment * you launch them through their termination. For more information, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • * *
* * @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. *

*

* Instance status includes the following components: *

* *
    *
  • * Status checks - Amazon EC2 performs status checks on running * EC2 instances to identify hardware and software issues. For more * information, see * Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • *
  • * Scheduled events - Amazon EC2 can schedule events (such as * reboot, stop, or terminate) for your instances related to hardware * issues, software updates, or system maintenance. For more information, * see * Scheduled Events for Your Instances * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • *
  • * Instance state - You can manage your instances from the moment * you launch them through their termination. For more information, see * Instance Lifecycle * in the Amazon Elastic Compute Cloud User Guide . *

    *
  • * *
* * @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; } }); } /** *

* Creates a VPC endpoint for a specified AWS service. An endpoint * enables you to create a private connection between your VPC and * another AWS service in your account. You can specify an endpoint * policy to attach to the endpoint that will control access to the * service from your VPC. You can also specify the VPC route tables that * use the endpoint. *

*

* Currently, only endpoints to Amazon S3 are supported. *

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

* Creates a VPC endpoint for a specified AWS service. An endpoint * enables you to create a private connection between your VPC and * another AWS service in your account. You can specify an endpoint * policy to attach to the endpoint that will control access to the * service from your VPC. You can also specify the VPC route tables that * use the endpoint. *

*

* Currently, only endpoints to Amazon S3 are supported. *

* * @param createVpcEndpointRequest Container for the necessary parameters * to execute the CreateVpcEndpoint 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 * CreateVpcEndpoint service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createVpcEndpointAsync( final CreateVpcEndpointRequest createVpcEndpointRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVpcEndpointResult call() throws Exception { CreateVpcEndpointResult result; try { result = createVpcEndpoint(createVpcEndpointRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVpcEndpointRequest, 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; } }); } /** *

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

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

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

* Creates a snapshot of an EBS volume and stores it in Amazon S3. You * can use snapshots for backups, to make copies of 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 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 systems on 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 EBS volumes that serve as root devices, you * should stop the instance before taking the snapshot. *

*

* Snapshots that are taken from encrypted volumes are automatically * encrypted. Volumes that are created from encrypted snapshots are also * automatically encrypted. Your encrypted volumes and any associated * snapshots always remain protected. *

*

* For more information, see * Amazon Elastic Block Store and Amazon EBS Encryption * 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 EBS volume and stores it in Amazon S3. You * can use snapshots for backups, to make copies of 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 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 systems on 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 EBS volumes that serve as root devices, you * should stop the instance before taking the snapshot. *

*

* Snapshots that are taken from encrypted volumes are automatically * encrypted. Volumes that are created from encrypted snapshots are also * automatically encrypted. Your encrypted volumes and any associated * snapshots always remain protected. *

*

* For more information, see * Amazon Elastic Block Store and Amazon EBS Encryption * 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; } }); } /** *

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

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

*

* The Reserved Instance Marketplace matches sellers who want to resell * Reserved Instance capacity that they no longer need with buyers who * want to purchase additional capacity. Reserved Instances bought and * sold through the Reserved Instance Marketplace work like any other * Reserved Instances. *

*

* As a seller, you choose to list some or all of your Reserved * Instances, and you specify the upfront price to receive for them. Your * Reserved Instances are then listed in the Reserved Instance * Marketplace and are available for purchase. *

*

* As a buyer, you specify the configuration of the Reserved Instance to * purchase, and the Marketplace matches what you're searching for with * what's available. The Marketplace first sells the lowest priced * Reserved Instances to you, and continues to sell available Reserved * Instance listings to you until your demand is met. You are charged * based on the total price of all of the listings that you purchase. *

*

* 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. *

*

* The Reserved Instance Marketplace matches sellers who want to resell * Reserved Instance capacity that they no longer need with buyers who * want to purchase additional capacity. Reserved Instances bought and * sold through the Reserved Instance Marketplace work like any other * Reserved Instances. *

*

* As a seller, you choose to list some or all of your Reserved * Instances, and you specify the upfront price to receive for them. Your * Reserved Instances are then listed in the Reserved Instance * Marketplace and are available for purchase. *

*

* As a buyer, you specify the configuration of the Reserved Instance to * purchase, and the Marketplace matches what you're searching for with * what's available. The Marketplace first sells the lowest priced * Reserved Instances to you, and continues to sell available Reserved * Instance listings to you until your demand is met. You are charged * based on the total price of all of the listings that you purchase. *

*

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

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

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

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

*

* NOTE: The productCodes attribute can't be reset. *

* * @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. *

*

* NOTE: The productCodes attribute can't be reset. *

* * @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 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 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; } }); } /** *

* Adds or removes permission settings for the specified snapshot. You * may add or remove specified AWS account IDs from a snapshot's list of * create volume permissions, but you cannot do both in a single API * call. If you need to both add and remove account IDs for a snapshot, * you must use multiple API calls. *

*

* 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. You * may add or remove specified AWS account IDs from a snapshot's list of * create volume permissions, but you cannot do both in a single API * call. If you need to both add and remove account IDs for a snapshot, * you must use multiple API calls. *

*

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

* 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 500 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 500 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; } }); } /** *

* 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. To get a list of your Reserved Instances, you can * use the DescribeReservedInstances operation. *

*

* The Reserved Instance Marketplace matches sellers who want to resell * Reserved Instance capacity that they no longer need with buyers who * want to purchase additional capacity. Reserved Instances bought and * sold through the Reserved Instance Marketplace work like any other * Reserved Instances. *

*

* To sell your Reserved Instances, you must first register as a seller * in the Reserved Instance Marketplace. After completing the * registration process, you can create a Reserved Instance Marketplace * listing of some or all of your Reserved Instances, and specify the * upfront price to receive for them. Your Reserved Instance listings * then become available for purchase. To view the details of your * Reserved Instance listing, you can use the * DescribeReservedInstancesListings operation. *

*

* 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. To get a list of your Reserved Instances, you can * use the DescribeReservedInstances operation. *

*

* The Reserved Instance Marketplace matches sellers who want to resell * Reserved Instance capacity that they no longer need with buyers who * want to purchase additional capacity. Reserved Instances bought and * sold through the Reserved Instance Marketplace work like any other * Reserved Instances. *

*

* To sell your Reserved Instances, you must first register as a seller * in the Reserved Instance Marketplace. After completing the * registration process, you can create a Reserved Instance Marketplace * listing of some or all of your Reserved Instances, and specify the * upfront price to receive for them. Your Reserved Instance listings * then become available for purchase. To view the details of your * Reserved Instance listing, you can use the * DescribeReservedInstancesListings operation. *

*

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

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

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

* Modifies the ID format for the specified resource on a per-region * basis. You can specify that resources should receive longer IDs * (17-character IDs) when they are created. The following resource types * support longer IDs: instance | reservation . *

*

* This setting applies to the IAM user who makes the request; it does * not apply to the entire AWS account. By default, an IAM user defaults * to the same settings as the root user. If you're using this action as * the root user or as an IAM role that has permission to use this * action, then these settings apply to the entire account, unless an IAM * user explicitly overrides these settings for themselves. For more * information, see * Controlling Access to Longer ID Settings * in the Amazon Elastic Compute Cloud User Guide . *

*

* Resources created with longer IDs are visible to all IAM users, * regardless of these settings and provided that they have permission to * use the relevant Describe command for the resource type. *

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

* Modifies the ID format for the specified resource on a per-region * basis. You can specify that resources should receive longer IDs * (17-character IDs) when they are created. The following resource types * support longer IDs: instance | reservation . *

*

* This setting applies to the IAM user who makes the request; it does * not apply to the entire AWS account. By default, an IAM user defaults * to the same settings as the root user. If you're using this action as * the root user or as an IAM role that has permission to use this * action, then these settings apply to the entire account, unless an IAM * user explicitly overrides these settings for themselves. For more * information, see * Controlling Access to Longer ID Settings * in the Amazon Elastic Compute Cloud User Guide . *

*

* Resources created with longer IDs are visible to all IAM users, * regardless of these settings and provided that they have permission to * use the relevant Describe command for the resource type. *

* * @param modifyIdFormatRequest Container for the necessary parameters to * execute the ModifyIdFormat 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 * ModifyIdFormat service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyIdFormatAsync( final ModifyIdFormatRequest modifyIdFormatRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifyIdFormat(modifyIdFormatRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyIdFormatRequest, null); 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. * * @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; } }); } /** *

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

*

* For more information about 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 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; } }); } /** *

* Describes your Spot fleet requests. *

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

* Describes your Spot fleet requests. *

* * @param describeSpotFleetRequestsRequest Container for the necessary * parameters to execute the DescribeSpotFleetRequests 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 * DescribeSpotFleetRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSpotFleetRequestsAsync( final DescribeSpotFleetRequestsRequest describeSpotFleetRequestsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSpotFleetRequestsResult call() throws Exception { DescribeSpotFleetRequestsResult result; try { result = describeSpotFleetRequests(describeSpotFleetRequestsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSpotFleetRequestsRequest, 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; } }); } /** *

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

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

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

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

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

* 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 instances, the instance console output displays the exact * console output that would normally be displayed on a physical monitor * attached to a computer. 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 includes output * from the EC2Config service. *

* * @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 instances, the instance console output displays the exact * console output that would normally be displayed on a physical monitor * attached to a computer. 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 includes output * from the EC2Config service. *

* * @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; } }); } /** *

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

* Describes the Spot instance requests that belong to your account. * Spot instances are instances that Amazon EC2 launches when the bid * 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, see * Spot Instance Requests * 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 launches when the bid * 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, see * Spot Instance Requests * 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; } }); } /** *

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

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

* Creates a NAT gateway in the specified subnet. A NAT gateway can be * used to enable instances in a private subnet to connect to the * Internet. This action creates a network interface in the specified * subnet with a private IP address from the IP address range of the * subnet. For more information, see * NAT Gateways * in the Amazon Virtual Private Cloud User Guide . *

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

* Creates a NAT gateway in the specified subnet. A NAT gateway can be * used to enable instances in a private subnet to connect to the * Internet. This action creates a network interface in the specified * subnet with a private IP address from the IP address range of the * subnet. For more information, see * NAT Gateways * in the Amazon Virtual Private Cloud User Guide . *

* * @param createNatGatewayRequest Container for the necessary parameters * to execute the CreateNatGateway 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 * CreateNatGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createNatGatewayAsync( final CreateNatGatewayRequest createNatGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateNatGatewayResult call() throws Exception { CreateNatGatewayResult result; try { result = createNatGateway(createNatGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createNatGatewayRequest, result); return result; } }); } /** *

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

*

* You must specify one of the following targets: Internet gateway or * virtual private gateway, NAT instance, NAT gateway, 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 CreateRouteResult call() throws Exception { return createRoute(createRouteRequest); } }); } /** *

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

*

* You must specify one of the following targets: Internet gateway or * virtual private gateway, NAT instance, NAT gateway, 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 CreateRouteResult call() throws Exception { CreateRouteResult result; try { result = createRoute(createRouteRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createRouteRequest, 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; } }); } /** *

* Describes one or more of your Scheduled Instances. *

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

* Describes one or more of your Scheduled Instances. *

* * @param describeScheduledInstancesRequest Container for the necessary * parameters to execute the DescribeScheduledInstances 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 * DescribeScheduledInstances service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScheduledInstancesAsync( final DescribeScheduledInstancesRequest describeScheduledInstancesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScheduledInstancesResult call() throws Exception { DescribeScheduledInstancesResult result; try { result = describeScheduledInstances(describeScheduledInstancesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeScheduledInstancesRequest, result); return result; } }); } /** *

* Deletes the specified NAT gateway. Deleting a NAT gateway * disassociates its Elastic IP address, but does not release the address * from your account. Deleting a NAT gateway does not delete any NAT * gateway routes in your route tables. *

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

* Deletes the specified NAT gateway. Deleting a NAT gateway * disassociates its Elastic IP address, but does not release the address * from your account. Deleting a NAT gateway does not delete any NAT * gateway routes in your route tables. *

* * @param deleteNatGatewayRequest Container for the necessary parameters * to execute the DeleteNatGateway 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 * DeleteNatGateway service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteNatGatewayAsync( final DeleteNatGatewayRequest deleteNatGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteNatGatewayResult call() throws Exception { DeleteNatGatewayResult result; try { result = deleteNatGateway(deleteNatGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteNatGatewayRequest, result); return result; } }); } /** *

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

* 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 action 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 action 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; } }); } /** *

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

* 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 . *

*

* For more information about troubleshooting, see * Troubleshooting Stopping Your Instance * 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 . *

*

* For more information about troubleshooting, see * Troubleshooting Stopping Your Instance * 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; } }); } /** *

* Describes the ID format settings for your resources on a per-region * basis, for example, to view which resource types are enabled for * longer IDs. This request only returns information about resource types * whose ID formats can be modified; it does not return information about * other resource types. *

*

* The following resource types support longer IDs: * instance | reservation . *

*

* These settings apply to the IAM user who makes the request; they do * not apply to the entire AWS account. By default, an IAM user defaults * to the same settings as the root user, unless they explicitly override * the settings by running the ModifyIdFormat command. Resources created * with longer IDs are visible to all IAM users, regardless of these * settings and provided that they have permission to use the relevant * Describe command for the resource type. *

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

* Describes the ID format settings for your resources on a per-region * basis, for example, to view which resource types are enabled for * longer IDs. This request only returns information about resource types * whose ID formats can be modified; it does not return information about * other resource types. *

*

* The following resource types support longer IDs: * instance | reservation . *

*

* These settings apply to the IAM user who makes the request; they do * not apply to the entire AWS account. By default, an IAM user defaults * to the same settings as the root user, unless they explicitly override * the settings by running the ModifyIdFormat command. Resources created * with longer IDs are visible to all IAM users, regardless of these * settings and provided that they have permission to use the relevant * Describe command for the resource type. *

* * @param describeIdFormatRequest Container for the necessary parameters * to execute the DescribeIdFormat 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 * DescribeIdFormat service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeIdFormatAsync( final DescribeIdFormatRequest describeIdFormatRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeIdFormatResult call() throws Exception { DescribeIdFormatResult result; try { result = describeIdFormat(describeIdFormatRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeIdFormatRequest, 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; } }); } /** *

* Detaches an 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. *

*

* When a volume with an AWS Marketplace product code is detached from * an instance, the product code is 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 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. *

*

* When a volume with an AWS Marketplace product code is detached from * an instance, the product code is 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; } }); } /** *

* Modify the auto-placement setting of a Dedicated host. When * auto-placement is enabled, AWS will place instances that you launch * with a tenancy of host , but without targeting a specific * host ID, onto any available Dedicated host in your account which has * auto-placement enabled. When auto-placement is disabled, you need to * provide a host ID if you want the instance to launch onto a specific * host. If no host ID is provided, the instance will be launched onto a * suitable host which has auto-placement enabled. *

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

* Modify the auto-placement setting of a Dedicated host. When * auto-placement is enabled, AWS will place instances that you launch * with a tenancy of host , but without targeting a specific * host ID, onto any available Dedicated host in your account which has * auto-placement enabled. When auto-placement is disabled, you need to * provide a host ID if you want the instance to launch onto a specific * host. If no host ID is provided, the instance will be launched onto a * suitable host which has auto-placement enabled. *

* * @param modifyHostsRequest Container for the necessary parameters to * execute the ModifyHosts 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 * ModifyHosts service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyHostsAsync( final ModifyHostsRequest modifyHostsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyHostsResult call() throws Exception { ModifyHostsResult result; try { result = modifyHosts(modifyHostsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyHostsRequest, 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 Linux 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 . *

*

* IMPORTANT: Some Linux distributions, such as Red Hat * Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use * the EC2 billingProduct code associated with an AMI to verify * subscription status for package updates. Creating an AMI from an EBS * snapshot does not maintain this billing code, and subsequent instances * launched from such an AMI will not be able to connect to package * update infrastructure. Similarly, although you can create a Windows * AMI from a snapshot, you can't successfully launch an instance from * the AMI. To create Windows AMIs or to create AMIs for Linux operating * systems that must retain AMI billing codes to work properly, see * CreateImage. *

*

* 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 Linux 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 . *

*

* IMPORTANT: Some Linux distributions, such as Red Hat * Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use * the EC2 billingProduct code associated with an AMI to verify * subscription status for package updates. Creating an AMI from an EBS * snapshot does not maintain this billing code, and subsequent instances * launched from such an AMI will not be able to connect to package * update infrastructure. Similarly, although you can create a Windows * AMI from a snapshot, you can't successfully launch an instance from * the AMI. To create Windows AMIs or to create AMIs for Linux operating * systems that must retain AMI billing codes to work properly, see * CreateImage. *

*

* 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 an attribute of an instance to its default value. To reset the * kernel or ramdisk , 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 ramdisk , 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. *

*

* The key pair returned to you is available only in the region in which * you create it. To create a key pair that is available in all regions, * use ImportKeyPair. *

*

* 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. *

*

* The key pair returned to you is available only in the region in which * you create it. To create a key pair that is available in all regions, * use ImportKeyPair. *

*

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

* Links an EC2-Classic instance to a ClassicLink-enabled VPC through * one or more of the VPC's security groups. You cannot link an * EC2-Classic instance to more than one VPC at a time. You can only link * an instance that's in the running state. An instance is * automatically unlinked from a VPC when it's stopped - you can link it * to the VPC again when you restart it. *

*

* After you've linked an instance, you cannot change the VPC security * groups that are associated with it. To change the security groups, you * must first unlink the instance, and then link it again. *

*

* Linking your instance to a VPC is sometimes referred to as * attaching your instance. *

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

* Links an EC2-Classic instance to a ClassicLink-enabled VPC through * one or more of the VPC's security groups. You cannot link an * EC2-Classic instance to more than one VPC at a time. You can only link * an instance that's in the running state. An instance is * automatically unlinked from a VPC when it's stopped - you can link it * to the VPC again when you restart it. *

*

* After you've linked an instance, you cannot change the VPC security * groups that are associated with it. To change the security groups, you * must first unlink the instance, and then link it again. *

*

* Linking your instance to a VPC is sometimes referred to as * attaching your instance. *

* * @param attachClassicLinkVpcRequest Container for the necessary * parameters to execute the AttachClassicLinkVpc 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 * AttachClassicLinkVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future attachClassicLinkVpcAsync( final AttachClassicLinkVpcRequest attachClassicLinkVpcRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AttachClassicLinkVpcResult call() throws Exception { AttachClassicLinkVpcResult result; try { result = attachClassicLinkVpc(attachClassicLinkVpcRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(attachClassicLinkVpcRequest, result); return result; } }); } /** *

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

* Disables ClassicLink for a VPC. You cannot disable ClassicLink for a * VPC that has EC2-Classic instances linked to it. *

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

* Disables ClassicLink for a VPC. You cannot disable ClassicLink for a * VPC that has EC2-Classic instances linked to it. *

* * @param disableVpcClassicLinkRequest Container for the necessary * parameters to execute the DisableVpcClassicLink 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 * DisableVpcClassicLink service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future disableVpcClassicLinkAsync( final DisableVpcClassicLinkRequest disableVpcClassicLinkRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableVpcClassicLinkResult call() throws Exception { DisableVpcClassicLinkResult result; try { result = disableVpcClassicLink(disableVpcClassicLinkRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableVpcClassicLinkRequest, result); return result; } }); } /** *

* Disables a virtual private gateway (VGW) from propagating routes to a * specified route table 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 a * specified route table 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; } }); } /** *

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

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

* Enables a VPC to support DNS hostname resolution for ClassicLink. If * enabled, the DNS hostname of a linked EC2-Classic instance resolves to * its private IP address when addressed from an instance in the VPC to * which it's linked. Similarly, the DNS hostname of an instance in a VPC * resolves to its private IP address when addressed from a linked * EC2-Classic instance. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

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

* Enables a VPC to support DNS hostname resolution for ClassicLink. If * enabled, the DNS hostname of a linked EC2-Classic instance resolves to * its private IP address when addressed from an instance in the VPC to * which it's linked. Similarly, the DNS hostname of an instance in a VPC * resolves to its private IP address when addressed from a linked * EC2-Classic instance. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

* * @param enableVpcClassicLinkDnsSupportRequest Container for the * necessary parameters to execute the EnableVpcClassicLinkDnsSupport * 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 * EnableVpcClassicLinkDnsSupport service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVpcClassicLinkDnsSupportAsync( final EnableVpcClassicLinkDnsSupportRequest enableVpcClassicLinkDnsSupportRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public EnableVpcClassicLinkDnsSupportResult call() throws Exception { EnableVpcClassicLinkDnsSupportResult result; try { result = enableVpcClassicLinkDnsSupport(enableVpcClassicLinkDnsSupportRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableVpcClassicLinkDnsSupportRequest, result); return result; } }); } /** *

* Modifies attributes of a specified VPC endpoint. You can modify the * policy associated with the endpoint, and you can add and remove route * tables associated with the endpoint. *

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

* Modifies attributes of a specified VPC endpoint. You can modify the * policy associated with the endpoint, and you can add and remove route * tables associated with the endpoint. *

* * @param modifyVpcEndpointRequest Container for the necessary parameters * to execute the ModifyVpcEndpoint 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 * ModifyVpcEndpoint service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyVpcEndpointAsync( final ModifyVpcEndpointRequest modifyVpcEndpointRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyVpcEndpointResult call() throws Exception { ModifyVpcEndpointResult result; try { result = modifyVpcEndpoint(modifyVpcEndpointRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyVpcEndpointRequest, 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; } }); } /** *

* Cancels one or more Spot instance requests. Spot instances are * instances that Amazon EC2 starts on your behalf when the bid 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, see * Spot Instance Requests * 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 bid 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, see * Spot Instance Requests * 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; } }); } /** *

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

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

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

* Describes attributes of your AWS account. The following are the * supported account attributes: *

* *
    *
  • * supported-platforms : Indicates whether your account can * launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC. *

    *
  • *
  • * default-vpc : The ID of the default VPC for your * account, or none . *

    *
  • *
  • * max-instances : The maximum number of On-Demand * instances that you can run. *

    *
  • *
  • * vpc-max-security-groups-per-interface : The maximum * number of security groups that you can assign to a network interface. *

    *
  • *
  • * max-elastic-ips : The maximum number of Elastic IP * addresses that you can allocate for use with EC2-Classic. *

    *
  • *
  • * vpc-max-elastic-ips : The maximum number of Elastic IP * addresses that you can allocate for use with EC2-VPC. *

    *
  • * *
* * @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 attributes of your AWS account. The following are the * supported account attributes: *

* *
    *
  • * supported-platforms : Indicates whether your account can * launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC. *

    *
  • *
  • * default-vpc : The ID of the default VPC for your * account, or none . *

    *
  • *
  • * max-instances : The maximum number of On-Demand * instances that you can run. *

    *
  • *
  • * vpc-max-security-groups-per-interface : The maximum * number of security groups that you can assign to a network interface. *

    *
  • *
  • * max-elastic-ips : The maximum number of Elastic IP * addresses that you can allocate for use with EC2-Classic. *

    *
  • *
  • * vpc-max-elastic-ips : The maximum number of Elastic IP * addresses that you can allocate for use with EC2-VPC. *

    *
  • * *
* * @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; } }); } /** *

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

* Creates a Spot instance request. Spot instances are instances that * Amazon EC2 launches when the bid 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, see * Spot Instance Requests * 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 launches when the bid 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, see * Spot Instance Requests * 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; } }); } /** *

* Cancels an in-process import virtual machine or import snapshot task. *

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

* Cancels an in-process import virtual machine or import snapshot task. *

* * @param cancelImportTaskRequest Container for the necessary parameters * to execute the CancelImportTask 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 * CancelImportTask service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelImportTaskAsync( final CancelImportTaskRequest cancelImportTaskRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelImportTaskResult call() throws Exception { CancelImportTaskResult result; try { result = cancelImportTask(cancelImportTaskRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelImportTaskRequest, 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 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; } }); } /** *

* Finds available schedules that meet the specified criteria. *

*

* You can search for an available schedule no more than 3 months in * advance. You must meet the minimum required duration of 1,200 hours * per year. For example, the minimum daily schedule is 4 hours, the * minimum weekly schedule is 24 hours, and the minimum monthly schedule * is 100 hours. *

*

* After you find a schedule that meets your needs, call * PurchaseScheduledInstances to purchase Scheduled Instances with that * schedule. *

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

* Finds available schedules that meet the specified criteria. *

*

* You can search for an available schedule no more than 3 months in * advance. You must meet the minimum required duration of 1,200 hours * per year. For example, the minimum daily schedule is 4 hours, the * minimum weekly schedule is 24 hours, and the minimum monthly schedule * is 100 hours. *

*

* After you find a schedule that meets your needs, call * PurchaseScheduledInstances to purchase Scheduled Instances with that * schedule. *

* * @param describeScheduledInstanceAvailabilityRequest Container for the * necessary parameters to execute the * DescribeScheduledInstanceAvailability 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 * DescribeScheduledInstanceAvailability service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeScheduledInstanceAvailabilityAsync( final DescribeScheduledInstanceAvailabilityRequest describeScheduledInstanceAvailabilityRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeScheduledInstanceAvailabilityResult call() throws Exception { DescribeScheduledInstanceAvailabilityResult result; try { result = describeScheduledInstanceAvailability(describeScheduledInstanceAvailabilityRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeScheduledInstanceAvailabilityRequest, result); return result; } }); } /** *

* Describes the ClassicLink DNS support status of one or more VPCs. If * enabled, the DNS hostname of a linked EC2-Classic instance resolves to * its private IP address when addressed from an instance in the VPC to * which it's linked. Similarly, the DNS hostname of an instance in a VPC * resolves to its private IP address when addressed from a linked * EC2-Classic instance. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

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

* Describes the ClassicLink DNS support status of one or more VPCs. If * enabled, the DNS hostname of a linked EC2-Classic instance resolves to * its private IP address when addressed from an instance in the VPC to * which it's linked. Similarly, the DNS hostname of an instance in a VPC * resolves to its private IP address when addressed from a linked * EC2-Classic instance. For more information about ClassicLink, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

* * @param describeVpcClassicLinkDnsSupportRequest Container for the * necessary parameters to execute the DescribeVpcClassicLinkDnsSupport * 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 * DescribeVpcClassicLinkDnsSupport service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcClassicLinkDnsSupportAsync( final DescribeVpcClassicLinkDnsSupportRequest describeVpcClassicLinkDnsSupportRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcClassicLinkDnsSupportResult call() throws Exception { DescribeVpcClassicLinkDnsSupportResult result; try { result = describeVpcClassicLinkDnsSupport(describeVpcClassicLinkDnsSupportRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcClassicLinkDnsSupportRequest, result); return result; } }); } /** *

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

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

* Modifies the specified Spot fleet request. *

*

* While the Spot fleet request is being modified, it is in the * modifying state. *

*

* To scale up your Spot fleet, increase its target capacity. The Spot * fleet launches the additional Spot instances according to the * allocation strategy for the Spot fleet request. If the allocation * strategy is lowestPrice , the Spot fleet launches * instances using the Spot pool with the lowest price. If the allocation * strategy is diversified , the Spot fleet distributes the * instances across the Spot pools. *

*

* To scale down your Spot fleet, decrease its target capacity. First, * the Spot fleet cancels any open bids that exceed the new target * capacity. You can request that the Spot fleet terminate Spot instances * until the size of the fleet no longer exceeds the new target capacity. * If the allocation strategy is lowestPrice , the Spot * fleet terminates the instances with the highest price per unit. If the * allocation strategy is diversified , the Spot fleet * terminates instances across the Spot pools. Alternatively, you can * request that the Spot fleet keep the fleet at its current size, but * not replace any Spot instances that are interrupted or that you * terminate manually. *

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

* Modifies the specified Spot fleet request. *

*

* While the Spot fleet request is being modified, it is in the * modifying state. *

*

* To scale up your Spot fleet, increase its target capacity. The Spot * fleet launches the additional Spot instances according to the * allocation strategy for the Spot fleet request. If the allocation * strategy is lowestPrice , the Spot fleet launches * instances using the Spot pool with the lowest price. If the allocation * strategy is diversified , the Spot fleet distributes the * instances across the Spot pools. *

*

* To scale down your Spot fleet, decrease its target capacity. First, * the Spot fleet cancels any open bids that exceed the new target * capacity. You can request that the Spot fleet terminate Spot instances * until the size of the fleet no longer exceeds the new target capacity. * If the allocation strategy is lowestPrice , the Spot * fleet terminates the instances with the highest price per unit. If the * allocation strategy is diversified , the Spot fleet * terminates instances across the Spot pools. Alternatively, you can * request that the Spot fleet keep the fleet at its current size, but * not replace any Spot instances that are interrupted or that you * terminate manually. *

* * @param modifySpotFleetRequestRequest Container for the necessary * parameters to execute the ModifySpotFleetRequest 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 * ModifySpotFleetRequest service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifySpotFleetRequestAsync( final ModifySpotFleetRequestRequest modifySpotFleetRequestRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifySpotFleetRequestResult call() throws Exception { ModifySpotFleetRequestResult result; try { result = modifySpotFleetRequest(modifySpotFleetRequestRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifySpotFleetRequestRequest, result); return result; } }); } /** *

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

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

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

* Modifies a subnet attribute. *

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

* Modifies a subnet attribute. *

* * @param modifySubnetAttributeRequest Container for the necessary * parameters to execute the ModifySubnetAttribute 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 * ModifySubnetAttribute service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifySubnetAttributeAsync( final ModifySubnetAttributeRequest modifySubnetAttributeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { modifySubnetAttribute(modifySubnetAttributeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifySubnetAttributeRequest, 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; } }); } /** *

* Initiates the copy of an AMI from the specified source region to the * current region. You specify the destination region by using its * endpoint when making the request. *

*

* 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 * current region. You specify the destination region by using its * endpoint when making the request. *

*

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

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

* Describes the specified EBS volumes. *

*

* If you are describing a long list of volumes, you can paginate the * output to make the list more manageable. The MaxResults * parameter sets the maximum number of results returned in a single * page. If the list of results exceeds your MaxResults * value, then that number of results is returned along with a * NextToken value that can be passed to a subsequent * DescribeVolumes request to retrieve the remaining * results. *

*

* For more information about 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 EBS volumes. *

*

* If you are describing a long list of volumes, you can paginate the * output to make the list more manageable. The MaxResults * parameter sets the maximum number of results returned in a single * page. If the list of results exceeds your MaxResults * value, then that number of results is returned along with a * NextToken value that can be passed to a subsequent * DescribeVolumes request to retrieve the remaining * results. *

*

* For more information about 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; } }); } /** *

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

* 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. If you believe that * the tunnel credentials for your VPN connection have been compromised, * you can delete the VPN connection and create a new one that has new * keys, without needing to delete the VPC or virtual private gateway. If * you create a new VPN connection, you must reconfigure the customer * gateway using the new configuration information returned with the new * VPN connection ID. *

* * @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. If you believe that * the tunnel credentials for your VPN connection have been compromised, * you can delete the VPN connection and create a new one that has new * keys, without needing to delete the VPC or virtual private gateway. If * you create a new VPN connection, you must reconfigure the customer * gateway using the new configuration information returned with the new * VPN connection ID. *

* * @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; } }); } /** *

* Cancels the specified Spot fleet requests. *

*

* After you cancel a Spot fleet request, the Spot fleet launches no new * Spot instances. You must specify whether the Spot fleet should also * terminate its Spot instances. If you terminate the instances, the Spot * fleet request enters the cancelled_terminating state. * Otherwise, the Spot fleet request enters the * cancelled_running state and the instances continue to run * until they are interrupted or you terminate them manually. *

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

* Cancels the specified Spot fleet requests. *

*

* After you cancel a Spot fleet request, the Spot fleet launches no new * Spot instances. You must specify whether the Spot fleet should also * terminate its Spot instances. If you terminate the instances, the Spot * fleet request enters the cancelled_terminating state. * Otherwise, the Spot fleet request enters the * cancelled_running state and the instances continue to run * until they are interrupted or you terminate them manually. *

* * @param cancelSpotFleetRequestsRequest Container for the necessary * parameters to execute the CancelSpotFleetRequests 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 * CancelSpotFleetRequests service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelSpotFleetRequestsAsync( final CancelSpotFleetRequestsRequest cancelSpotFleetRequestsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelSpotFleetRequestsResult call() throws Exception { CancelSpotFleetRequestsResult result; try { result = cancelSpotFleetRequests(cancelSpotFleetRequestsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelSpotFleetRequestsRequest, result); return result; } }); } /** *

* Describes one or more of the 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. *

*

* If you are describing a long list of snapshots, you can paginate the * output to make the list more manageable. The MaxResults * parameter sets the maximum number of results returned in a single * page. If the list of results exceeds your MaxResults * value, then that number of results is returned along with a * NextToken value that can be passed to a subsequent * DescribeSnapshots request to retrieve the remaining * results. *

*

* For more information about 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 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. *

*

* If you are describing a long list of snapshots, you can paginate the * output to make the list more manageable. The MaxResults * parameter sets the maximum number of results returned in a single * page. If the list of results exceeds your MaxResults * value, then that number of results is returned along with a * NextToken value that can be passed to a subsequent * DescribeSnapshots request to retrieve the remaining * results. *

*

* For more information about 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; } }); } /** *

* Describes available AWS services in a prefix list format, which * includes the prefix list name and prefix list ID of the service and * the IP address range for the service. A prefix list ID is required for * creating an outbound security group rule that allows traffic from a * VPC to access an AWS service through a VPC endpoint. *

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

* Describes available AWS services in a prefix list format, which * includes the prefix list name and prefix list ID of the service and * the IP address range for the service. A prefix list ID is required for * creating an outbound security group rule that allows traffic from a * VPC to access an AWS service through a VPC endpoint. *

* * @param describePrefixListsRequest Container for the necessary * parameters to execute the DescribePrefixLists 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 * DescribePrefixLists service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describePrefixListsAsync( final DescribePrefixListsRequest describePrefixListsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribePrefixListsResult call() throws Exception { DescribePrefixListsResult result; try { result = describePrefixLists(describePrefixListsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describePrefixListsRequest, 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; } }); } /** *

* Creates one or more flow logs to capture IP traffic for a specific * network interface, subnet, or VPC. Flow logs are delivered to a * specified log group in Amazon CloudWatch Logs. If you specify a VPC or * subnet in the request, a log stream is created in CloudWatch Logs for * each network interface in the subnet or VPC. Log streams can include * information about accepted and rejected traffic to a network * interface. You can view the data in your log streams using Amazon * CloudWatch Logs. *

*

* In your request, you must also specify an IAM role that has * permission to publish logs to CloudWatch Logs. *

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

* Creates one or more flow logs to capture IP traffic for a specific * network interface, subnet, or VPC. Flow logs are delivered to a * specified log group in Amazon CloudWatch Logs. If you specify a VPC or * subnet in the request, a log stream is created in CloudWatch Logs for * each network interface in the subnet or VPC. Log streams can include * information about accepted and rejected traffic to a network * interface. You can view the data in your log streams using Amazon * CloudWatch Logs. *

*

* In your request, you must also specify an IAM role that has * permission to publish logs to CloudWatch Logs. *

* * @param createFlowLogsRequest Container for the necessary parameters to * execute the CreateFlowLogs 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 * CreateFlowLogs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future createFlowLogsAsync( final CreateFlowLogsRequest createFlowLogsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateFlowLogsResult call() throws Exception { CreateFlowLogsResult result; try { result = createFlowLogs(createFlowLogsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createFlowLogsRequest, result); return result; } }); } /** *

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

* Deletes the data feed for Spot instances. *

* * @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 data feed for Spot instances. *

* * @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; } }); } /** *

* Set the instance affinity value for a specific stopped instance and * modify the instance tenancy setting. *

*

* Instance affinity is disabled by default. When instance affinity is * host and it is not associated with a specific Dedicated * host, the next time it is launched it will automatically be associated * with the host it lands on. This relationship will persist if the * instance is stopped/started, or rebooted. *

*

* You can modify the host ID associated with a stopped instance. If a * stopped instance has a new host ID association, the instance will * target that host when restarted. *

*

* You can modify the tenancy of a stopped instance with a tenancy of * host or dedicated . *

*

* Affinity, hostID, and tenancy are not required parameters, but at * least one of them must be specified in the request. Affinity and * tenancy can be modified in the same request, but tenancy can only be * modified on instances that are stopped. *

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

* Set the instance affinity value for a specific stopped instance and * modify the instance tenancy setting. *

*

* Instance affinity is disabled by default. When instance affinity is * host and it is not associated with a specific Dedicated * host, the next time it is launched it will automatically be associated * with the host it lands on. This relationship will persist if the * instance is stopped/started, or rebooted. *

*

* You can modify the host ID associated with a stopped instance. If a * stopped instance has a new host ID association, the instance will * target that host when restarted. *

*

* You can modify the tenancy of a stopped instance with a tenancy of * host or dedicated . *

*

* Affinity, hostID, and tenancy are not required parameters, but at * least one of them must be specified in the request. Affinity and * tenancy can be modified in the same request, but tenancy can only be * modified on instances that are stopped. *

* * @param modifyInstancePlacementRequest Container for the necessary * parameters to execute the ModifyInstancePlacement 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 * ModifyInstancePlacement service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future modifyInstancePlacementAsync( final ModifyInstancePlacementRequest modifyInstancePlacementRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ModifyInstancePlacementResult call() throws Exception { ModifyInstancePlacementResult result; try { result = modifyInstancePlacement(modifyInstancePlacementRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(modifyInstancePlacementRequest, 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; } }); } /** *

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

* Creates a Spot fleet request. *

*

* You can submit a single request that includes multiple launch * specifications that vary by instance type, AMI, Availability Zone, or * subnet. *

*

* By default, the Spot fleet requests Spot instances in the Spot pool * where the price per unit is the lowest. Each launch specification can * include its own instance weighting that reflects the value of the * instance type to your application workload. *

*

* Alternatively, you can specify that the Spot fleet distribute the * target capacity across the Spot pools included in its launch * specifications. By ensuring that the Spot instances in your Spot fleet * are in different Spot pools, you can improve the availability of your * fleet. *

*

* For more information, see * Spot Fleet Requests * in the Amazon Elastic Compute Cloud User Guide . *

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

* Creates a Spot fleet request. *

*

* You can submit a single request that includes multiple launch * specifications that vary by instance type, AMI, Availability Zone, or * subnet. *

*

* By default, the Spot fleet requests Spot instances in the Spot pool * where the price per unit is the lowest. Each launch specification can * include its own instance weighting that reflects the value of the * instance type to your application workload. *

*

* Alternatively, you can specify that the Spot fleet distribute the * target capacity across the Spot pools included in its launch * specifications. By ensuring that the Spot instances in your Spot fleet * are in different Spot pools, you can improve the availability of your * fleet. *

*

* For more information, see * Spot Fleet Requests * in the Amazon Elastic Compute Cloud User Guide . *

* * @param requestSpotFleetRequest Container for the necessary parameters * to execute the RequestSpotFleet 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 * RequestSpotFleet service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future requestSpotFleetAsync( final RequestSpotFleetRequest requestSpotFleetRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RequestSpotFleetResult call() throws Exception { RequestSpotFleetResult result; try { result = requestSpotFleet(requestSpotFleetRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(requestSpotFleetRequest, result); return result; } }); } /** *

* 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 your import snapshot tasks. *

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

* Describes your import snapshot tasks. *

* * @param describeImportSnapshotTasksRequest Container for the necessary * parameters to execute the DescribeImportSnapshotTasks 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 * DescribeImportSnapshotTasks service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeImportSnapshotTasksAsync( final DescribeImportSnapshotTasksRequest describeImportSnapshotTasksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeImportSnapshotTasksResult call() throws Exception { DescribeImportSnapshotTasksResult result; try { result = describeImportSnapshotTasks(describeImportSnapshotTasksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeImportSnapshotTasksRequest, result); return result; } }); } /** *

* Enables a VPC for ClassicLink. You can then link EC2-Classic * instances to your ClassicLink-enabled VPC to allow communication over * private IP addresses. You cannot enable your VPC for ClassicLink if * any of your VPC's route tables have existing routes for address ranges * within the 10.0.0.0/8 IP address range, excluding local * routes for VPCs in the 10.0.0.0/16 and * 10.1.0.0/16 IP address ranges. For more information, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

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

* Enables a VPC for ClassicLink. You can then link EC2-Classic * instances to your ClassicLink-enabled VPC to allow communication over * private IP addresses. You cannot enable your VPC for ClassicLink if * any of your VPC's route tables have existing routes for address ranges * within the 10.0.0.0/8 IP address range, excluding local * routes for VPCs in the 10.0.0.0/16 and * 10.1.0.0/16 IP address ranges. For more information, see * ClassicLink * in the Amazon Elastic Compute Cloud User Guide. *

* * @param enableVpcClassicLinkRequest Container for the necessary * parameters to execute the EnableVpcClassicLink 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 * EnableVpcClassicLink service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future enableVpcClassicLinkAsync( final EnableVpcClassicLinkRequest enableVpcClassicLinkRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public EnableVpcClassicLinkResult call() throws Exception { EnableVpcClassicLinkResult result; try { result = enableVpcClassicLink(enableVpcClassicLinkRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableVpcClassicLinkRequest, result); return result; } }); } /** *

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

* Describes one or more flow logs. To view the information in your flow * logs (the log streams for the network interfaces), you must use the * CloudWatch Logs console or the CloudWatch Logs API. *

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

* Describes one or more flow logs. To view the information in your flow * logs (the log streams for the network interfaces), you must use the * CloudWatch Logs console or the CloudWatch Logs API. *

* * @param describeFlowLogsRequest Container for the necessary parameters * to execute the DescribeFlowLogs 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 * DescribeFlowLogs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeFlowLogsAsync( final DescribeFlowLogsRequest describeFlowLogsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeFlowLogsResult call() throws Exception { DescribeFlowLogsResult result; try { result = describeFlowLogs(describeFlowLogsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeFlowLogsRequest, 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. *

*

* If you launch an instance in a VPC using an Amazon EBS-backed AMI, * the IP address doesn't change if you stop and restart the instance * (unlike a similar instance launched outside a VPC, which gets a new IP * address when restarted). It's therefore possible to have a subnet with * no running instances (they're all stopped), but no remaining IP * addresses available. *

*

* 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. *

*

* If you launch an instance in a VPC using an Amazon EBS-backed AMI, * the IP address doesn't change if you stop and restart the instance * (unlike a similar instance launched outside a VPC, which gets a new IP * address when restarted). It's therefore possible to have a subnet with * no running instances (they're all stopped), but no remaining IP * addresses available. *

*

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

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

* When you no longer want to use a Dedicated host it can be released. * On-Demand billing is stopped and the host goes into * released state. The host ID of Dedicated hosts that have * been released can no longer be specified in another request, e.g., * ModifyHosts. You must stop or terminate all instances on a host before * it can be released. *

*

* When Dedicated hosts are released, it make take some time for them to * stop counting toward your limit and you may receive capacity errors * when trying to allocate new Dedicated hosts. Try waiting a few * minutes, and then try again. *

*

* Released hosts will still appear in a DescribeHosts response. *

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

* When you no longer want to use a Dedicated host it can be released. * On-Demand billing is stopped and the host goes into * released state. The host ID of Dedicated hosts that have * been released can no longer be specified in another request, e.g., * ModifyHosts. You must stop or terminate all instances on a host before * it can be released. *

*

* When Dedicated hosts are released, it make take some time for them to * stop counting toward your limit and you may receive capacity errors * when trying to allocate new Dedicated hosts. Try waiting a few * minutes, and then try again. *

*

* Released hosts will still appear in a DescribeHosts response. *

* * @param releaseHostsRequest Container for the necessary parameters to * execute the ReleaseHosts 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 * ReleaseHosts service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future releaseHostsAsync( final ReleaseHostsRequest releaseHostsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ReleaseHostsResult call() throws Exception { ReleaseHostsResult result; try { result = releaseHosts(releaseHostsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(releaseHostsRequest, 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. *

*

* Use of this action does not change the value returned by * DescribeInstanceStatus. *

* * @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. *

*

* Use of this action does not change the value returned by * DescribeInstanceStatus. *

* * @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 the your NAT gateways. *

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

* Describes one or more of the your NAT gateways. *

* * @param describeNatGatewaysRequest Container for the necessary * parameters to execute the DescribeNatGateways 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 * DescribeNatGateways service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeNatGatewaysAsync( final DescribeNatGatewaysRequest describeNatGatewaysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeNatGatewaysResult call() throws Exception { DescribeNatGatewaysResult result; try { result = describeNatGateways(describeNatGatewaysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeNatGatewaysRequest, 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; } }); } /** *

* Creates an EBS volume that can be attached to an instance in the same * Availability Zone. The volume is created in the regional endpoint that * you send the HTTP request to. For more information see * Regions and Endpoints * . *

*

* You can create a new empty volume or restore a volume from an EBS * snapshot. Any AWS Marketplace product codes from the snapshot are * propagated to the volume. *

*

* You can create encrypted volumes with the Encrypted * parameter. Encrypted volumes may only be attached to instances that * support Amazon EBS encryption. Volumes that are created from encrypted * snapshots are also automatically encrypted. For more information, see * Amazon EBS Encryption * in the Amazon Elastic Compute Cloud User Guide . *

*

* 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 EBS volume that can be attached to an instance in the same * Availability Zone. The volume is created in the regional endpoint that * you send the HTTP request to. For more information see * Regions and Endpoints * . *

*

* You can create a new empty volume or restore a volume from an EBS * snapshot. Any AWS Marketplace product codes from the snapshot are * propagated to the volume. *

*

* You can create encrypted volumes with the Encrypted * parameter. Encrypted volumes may only be attached to instances that * support Amazon EBS encryption. Volumes that are created from encrypted * snapshots are also automatically encrypted. For more information, see * Amazon EBS Encryption * in the Amazon Elastic Compute Cloud User Guide . *

*

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

* Creates an import volume task using metadata from the specified disk * image. After importing the image, you then upload it using the * ec2-import-volume 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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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-import-volume 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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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; } }); } /** *

* Exports a running or stopped instance to an 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 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; } }); } /** *

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

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

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

* 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 one or more specified VPC endpoints. Deleting the endpoint * also deletes the endpoint routes in the route tables that were * associated with the endpoint. *

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

* Deletes one or more specified VPC endpoints. Deleting the endpoint * also deletes the endpoint routes in the route tables that were * associated with the endpoint. *

* * @param deleteVpcEndpointsRequest Container for the necessary * parameters to execute the DeleteVpcEndpoints 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 * DeleteVpcEndpoints service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVpcEndpointsAsync( final DeleteVpcEndpointsRequest deleteVpcEndpointsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteVpcEndpointsResult call() throws Exception { DeleteVpcEndpointsResult result; try { result = deleteVpcEndpoints(deleteVpcEndpointsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVpcEndpointsRequest, 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 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 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; } }); } /** *

* Describes the data feed for Spot instances. For more information, see * Spot Instance Data Feed * 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 data feed for Spot instances. For more information, see * Spot Instance Data Feed * 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 one or more flow logs. *

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

* Deletes one or more flow logs. *

* * @param deleteFlowLogsRequest Container for the necessary parameters to * execute the DeleteFlowLogs 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 * DeleteFlowLogs service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteFlowLogsAsync( final DeleteFlowLogsRequest deleteFlowLogsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteFlowLogsResult call() throws Exception { DeleteFlowLogsResult result; try { result = deleteFlowLogs(deleteFlowLogsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteFlowLogsRequest, 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; } }); } /** *

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

* 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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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 . *

*

* For information about the import manifest referenced by this API * action, see * VM Import Manifest * . *

* * @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; } }); } /** *

* Purchases a Reserved Instance for use with your account. With * Reserved Instances, you obtain a capacity reservation for a certain * instance configuration over a specified period of time and pay a lower * hourly rate compared to On-Demand instance pricing. *

*

* Use DescribeReservedInstancesOfferings to get a list of Reserved * Instance offerings that match your specifications. After you've * purchased a Reserved Instance, you can check for your new Reserved * Instance with DescribeReservedInstances. *

*

* For more information, see * Reserved Instances and 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 * Reserved Instances, you obtain a capacity reservation for a certain * instance configuration over a specified period of time and pay a lower * hourly rate compared to On-Demand instance pricing. *

*

* Use DescribeReservedInstancesOfferings to get a list of Reserved * Instance offerings that match your specifications. After you've * purchased a Reserved Instance, you can check for your new Reserved * Instance with DescribeReservedInstances. *

*

* For more information, see * Reserved Instances and 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; } }); } /** *

* Disassociates an Elastic IP address from the instance or network * interface it's associated with. *

*

* 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 . *

*

* 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. *

*

* 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 . *

*

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

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

* 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. *

*

* For more information about troubleshooting, see * Getting Console Output and Rebooting Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @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. *

*

* For more information about troubleshooting, see * Getting Console Output and Rebooting Instances * in the Amazon Elastic Compute Cloud User Guide . *

* * @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; } }); } /** *

* 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. To delete an active VPC peering * connection, or to delete a VPC peering connection request that you * initiated, use DeleteVpcPeeringConnection. *

* * @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. To delete an active VPC peering * connection, or to delete a VPC peering connection request that you * initiated, use DeleteVpcPeeringConnection. *

* * @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; } }); } /** *

* Describes all supported AWS services that can be specified when * creating a VPC endpoint. *

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

* Describes all supported AWS services that can be specified when * creating a VPC endpoint. *

* * @param describeVpcEndpointServicesRequest Container for the necessary * parameters to execute the DescribeVpcEndpointServices 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 * DescribeVpcEndpointServices service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVpcEndpointServicesAsync( final DescribeVpcEndpointServicesRequest describeVpcEndpointServicesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVpcEndpointServicesResult call() throws Exception { DescribeVpcEndpointServicesResult result; try { result = describeVpcEndpointServices(describeVpcEndpointServicesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVpcEndpointServicesRequest, result); return result; } }); } /** *

* Adds or overwrites one or more tags for the specified Amazon 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 . For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions * 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 Amazon 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 . For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions * 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; } }); } /** *

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

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

* Unlinks (detaches) a linked EC2-Classic instance from a VPC. After * the instance has been unlinked, the VPC security groups are no longer * associated with it. An instance is automatically unlinked from a VPC * when it's stopped. *

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

* Unlinks (detaches) a linked EC2-Classic instance from a VPC. After * the instance has been unlinked, the VPC security groups are no longer * associated with it. An instance is automatically unlinked from a VPC * when it's stopped. *

* * @param detachClassicLinkVpcRequest Container for the necessary * parameters to execute the DetachClassicLinkVpc 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 * DetachClassicLinkVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future detachClassicLinkVpcAsync( final DetachClassicLinkVpcRequest detachClassicLinkVpcRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DetachClassicLinkVpcResult call() throws Exception { DetachClassicLinkVpcResult result; try { result = detachClassicLinkVpc(detachClassicLinkVpcRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(detachClassicLinkVpcRequest, result); return result; } }); } /** *

* 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 may 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 . *

*

* IMPORTANT: You cannot create more than one customer gateway * with the same VPN type, IP address, and BGP ASN parameter values. If * you run an identical request more than one time, the first request * creates the customer gateway, and subsequent requests return * information about the existing customer gateway. The subsequent * requests do not create new customer gateway resources. *

* * @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 may 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 . *

*

* IMPORTANT: You cannot create more than one customer gateway * with the same VPN type, IP address, and BGP ASN parameter values. If * you run an identical request more than one time, the first request * creates the customer gateway, and subsequent requests return * information about the existing customer gateway. The subsequent * requests do not create new customer gateway resources. *

* * @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; } }); } /** *

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

*

* For more information about 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 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; } }); } /** *

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

* Moves an Elastic IP address from the EC2-Classic platform to the * EC2-VPC platform. The Elastic IP address must be allocated to your * account for more than 24 hours, and it must not be associated with an * instance. After the Elastic IP address is moved, it is no longer * available for use in the EC2-Classic platform, unless you move it back * using the RestoreAddressToClassic request. You cannot move an Elastic * IP address that's allocated for use in the EC2-VPC platform to the * EC2-Classic platform. You cannot migrate an Elastic IP address that's * associated with a reverse DNS record. Contact AWS account and billing * support to remove the reverse DNS record. *

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

* Moves an Elastic IP address from the EC2-Classic platform to the * EC2-VPC platform. The Elastic IP address must be allocated to your * account for more than 24 hours, and it must not be associated with an * instance. After the Elastic IP address is moved, it is no longer * available for use in the EC2-Classic platform, unless you move it back * using the RestoreAddressToClassic request. You cannot move an Elastic * IP address that's allocated for use in the EC2-VPC platform to the * EC2-Classic platform. You cannot migrate an Elastic IP address that's * associated with a reverse DNS record. Contact AWS account and billing * support to remove the reverse DNS record. *

* * @param moveAddressToVpcRequest Container for the necessary parameters * to execute the MoveAddressToVpc 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 * MoveAddressToVpc service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future moveAddressToVpcAsync( final MoveAddressToVpcRequest moveAddressToVpcRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public MoveAddressToVpcResult call() throws Exception { MoveAddressToVpcResult result; try { result = moveAddressToVpc(moveAddressToVpcRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(moveAddressToVpcRequest, 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; } }); } /** *

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

* [EC2-VPC only] Removes one or more egress rules from a security group * for EC2-VPC. This action doesn't apply to security groups for use in * EC2-Classic. 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; } }); } /** *

* [EC2-VPC only] Removes one or more egress rules from a security group * for EC2-VPC. This action doesn't apply to security groups for use in * EC2-Classic. 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; } }); } /** *

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy