/* * Copyright 2010-2018 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: ** 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: *
* 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* 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* 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 .
*
* 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 .
*
* 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. *
** This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *
** 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
* 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. *
** This is an idempotent operation. If you perform the operation more * than once, Amazon EC2 doesn't return an error. *
** 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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
* 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
* 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* 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* 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* 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* 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* 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* 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* 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* 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* [EC2-VPC only] Describes the stale security group rules for security * groups in a specified VPC. Rules are stale when they reference a * deleted security group in a peer VPC, or a security group in a peer * VPC for which the VPC peering connection has been deleted. *
* * @param describeStaleSecurityGroupsRequest Container for the necessary * parameters to execute the DescribeStaleSecurityGroups operation on * AmazonEC2. * * @return A Java Future object containing the response from the * DescribeStaleSecurityGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future* [EC2-VPC only] Describes the stale security group rules for security * groups in a specified VPC. Rules are stale when they reference a * deleted security group in a peer VPC, or a security group in a peer * VPC for which the VPC peering connection has been deleted. *
* * @param describeStaleSecurityGroupsRequest Container for the necessary * parameters to execute the DescribeStaleSecurityGroups operation on * AmazonEC2. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeStaleSecurityGroups service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public Future* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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. For more information, see * Scheduled Instances * in the Amazon Elastic Compute Cloud User Guide . *
* * @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* 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. For more information, see * Scheduled Instances * in the Amazon Elastic Compute Cloud User Guide . *
* * @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* 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* 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* 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* 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
* 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
* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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
* 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.
*
* 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.
*
* 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. *
*
* To tag your instance, ensure that it is running
as
* CreateTags requires a resource ID. For more information about tagging,
* see
* Tagging Your Amazon EC2 Resources
* .
*
* 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* 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. *
*
* To tag your instance, ensure that it is running
as
* CreateTags requires a resource ID. For more information about tagging,
* see
* Tagging Your Amazon EC2 Resources
* .
*
* 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* 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* 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* 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* 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* 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* 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* 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. *
* * @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* 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. *
* * @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* 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* 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* 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* 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* [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* [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* 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* 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* 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.
*
* 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.
*
* 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
*
* 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
*
* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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
.
*
* 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
.
*
* 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* 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* 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* 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