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

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

/*
 * Copyright 2010-2011 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 org.w3c.dom.Node;

import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
import java.security.SignatureException;

import com.amazonaws.*;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWS3Signer;
import com.amazonaws.auth.QueryStringSigner;
import com.amazonaws.handlers.HandlerChainFactory;
import com.amazonaws.handlers.RequestHandler;
import com.amazonaws.http.StaxResponseHandler;
import com.amazonaws.http.DefaultErrorResponseHandler;
import com.amazonaws.http.HttpClient;
import com.amazonaws.http.HttpMethodName;
import com.amazonaws.http.HttpRequest;
import com.amazonaws.transform.Unmarshaller;
import com.amazonaws.transform.StaxUnmarshallerContext;
import com.amazonaws.transform.LegacyErrorUnmarshaller;

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


/**
 * Client for accessing AmazonEC2.  All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

*

* Amazon Elastic Compute Cloud (Amazon EC2) is a web service that * provides resizable compute capacity in the cloud. It is designed to * make web-scale computing easier for developers. *

*

* Amazon EC2's simple web service interface allows you to obtain and * configure capacity with minimal friction. It provides you with * complete control of your computing resources and lets you run on * Amazon's proven computing environment. Amazon EC2 reduces the time * required to obtain and boot new server instances to minutes, allowing * you to quickly scale capacity, both up and down, as your computing * requirements change. Amazon EC2 changes the economics of computing by * allowing you to pay only for capacity that you actually use. Amazon * EC2 provides developers the tools to build failure resilient * applications and isolate themselves from common failure scenarios. *

*

* Visit * http://aws.amazon.com/ec2/ for more information. *

*/ public class AmazonEC2Client extends AmazonWebServiceClient implements AmazonEC2 { /** * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. */ private AWSCredentials awsCredentials; /** * List of exception unmarshallers for all AmazonEC2 exceptions. */ protected final List> exceptionUnmarshallers; /** Low level client for sending requests to AWS services. */ protected final HttpClient client; /** Optional request handlers for additional request processing. */ private List requestHandlers = new ArrayList(); /** AWS signer for authenticating requests. */ private QueryStringSigner signer; /** * Constructs a new client to invoke service methods on * AmazonEC2 using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonEC2Client(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonEC2 using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonEC2 * (ex: proxy settings, retry counts, etc.). */ public AmazonEC2Client(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentials = awsCredentials; exceptionUnmarshallers = new ArrayList>(); exceptionUnmarshallers.add(new LegacyErrorUnmarshaller()); setEndpoint("ec2.amazonaws.com"); signer = new QueryStringSigner(awsCredentials); requestHandlers = new HandlerChainFactory().newRequestHandlerChain( "/com/amazonaws/services/ec2/request.handlers"); client = new HttpClient(clientConfiguration); } /** *

* The RebootInstances operation requests a reboot of one or more * instances. This operation is asynchronous; it only queues a request to * reboot the specified instance(s). The operation will succeed if the * instances are valid and belong to the user. Requests to reboot * terminated instances are ignored. *

* * @param rebootInstancesRequest Container for the necessary parameters * to execute the RebootInstances service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void rebootInstances(RebootInstancesRequest rebootInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new RebootInstancesRequestMarshaller().marshall(rebootInstancesRequest); invoke(request, null); } /** *

* Returns information about one or more PlacementGroup instances in a * user's account. *

* * @param describePlacementGroupsRequest Container for the necessary * parameters to execute the DescribePlacementGroups service method on * AmazonEC2. * * @return The response from the DescribePlacementGroups service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribePlacementGroupsResult describePlacementGroups(DescribePlacementGroupsRequest describePlacementGroupsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribePlacementGroupsRequestMarshaller().marshall(describePlacementGroupsRequest); return invoke(request, new DescribePlacementGroupsResultStaxUnmarshaller()); } /** *

* The RunInstances operation launches a specified number of instances. *

*

* If Amazon EC2 cannot launch the minimum number AMIs you request, no * instances launch. If there is insufficient capacity to launch the * maximum number of AMIs you request, Amazon EC2 launches as many as * possible to satisfy the requested maximum values. *

*

* Every instance is launched in a security group. If you do not specify * a security group at launch, the instances start in your default * security group. For more information on creating security groups, see * CreateSecurityGroup. *

*

* An optional instance type can be specified. For information about * instance types, see Instance Types. *

*

* You can provide an optional key pair ID for each image in the launch * request (for more information, see CreateKeyPair). All instances that * are created from images that use this key pair will have access to the * associated public key at boot. You can use this key to provide secure * access to an instance of an image on a per-instance basis. Amazon EC2 * public images use this feature to provide secure access without * passwords. *

*

* IMPORTANT: Launching public images without a key pair ID will * leave them inaccessible. The public key material is made available to * the instance at boot time by placing it in the openssh_id.pub file on * a logical device that is exposed to the instance as /dev/sda2 (the * ephemeral store). The format of this file is suitable for use as an * entry within ~/.ssh/authorized_keys (the OpenSSH format). This can be * done at boot (e.g., as part of rc.local) allowing for secure access * without passwords. Optional user data can be provided in the launch * request. All instances that collectively comprise the launch request * have access to this data For more information, see Instance Metadata. *

*

* NOTE: If any of the AMIs have a product code attached for which * the user has not subscribed, the RunInstances call will fail. *

*

* IMPORTANT: We strongly recommend using the 2.6.18 Xen stock * kernel with the c1.medium and c1.xlarge instances. Although the * default Amazon EC2 kernels will work, the new kernels provide greater * stability and performance for these instance types. For more * information about kernels, see Kernels, RAM Disks, and Block Device * Mappings. *

* * @param runInstancesRequest Container for the necessary parameters to * execute the RunInstances service method on AmazonEC2. * * @return 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 RunInstancesResult runInstances(RunInstancesRequest runInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new RunInstancesRequestMarshaller().marshall(runInstancesRequest); return invoke(request, new RunInstancesResultStaxUnmarshaller()); } /** *

* The DescribeReservedInstances operation describes Reserved Instances * that were purchased for use with your account. *

* * @param describeReservedInstancesRequest Container for the necessary * parameters to execute the DescribeReservedInstances service method on * AmazonEC2. * * @return The response from the DescribeReservedInstances service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeReservedInstancesResult describeReservedInstances(DescribeReservedInstancesRequest describeReservedInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeReservedInstancesRequestMarshaller().marshall(describeReservedInstancesRequest); return invoke(request, new DescribeReservedInstancesResultStaxUnmarshaller()); } /** *

* Gives you information about your subnets. You can filter the results * to return information only about subnets that match criteria you * specify. For example, you could ask to get information about a * particular subnet (or all) only if the subnet's state is available. * You can specify multiple filters (e.g., the subnet is in a particular * VPC, and the subnet's state is available). The result includes * information for a particular subnet only if the subnet matches all * your filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @param describeSubnetsRequest Container for the necessary parameters * to execute the DescribeSubnets service method on AmazonEC2. * * @return 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 DescribeSubnetsResult describeSubnets(DescribeSubnetsRequest describeSubnetsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSubnetsRequestMarshaller().marshall(describeSubnetsRequest); return invoke(request, new DescribeSubnetsResultStaxUnmarshaller()); } /** *

* The DescribeAvailabilityZones operation describes availability zones * that are currently available to the account and their states. *

*

* Availability zones are not the same across accounts. The availability * zone us-east-1a for account A is not necessarily the same as * us-east-1a for account B. Zone assignments are mapped independently * for each account. *

* * @param describeAvailabilityZonesRequest Container for the necessary * parameters to execute the DescribeAvailabilityZones service method on * AmazonEC2. * * @return 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 DescribeAvailabilityZonesResult describeAvailabilityZones(DescribeAvailabilityZonesRequest describeAvailabilityZonesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeAvailabilityZonesRequestMarshaller().marshall(describeAvailabilityZonesRequest); return invoke(request, new DescribeAvailabilityZonesResultStaxUnmarshaller()); } /** *

* Detach a previously attached volume from a running instance. *

* * @param detachVolumeRequest Container for the necessary parameters to * execute the DetachVolume service method on AmazonEC2. * * @return The response from the DetachVolume service method, as returned * by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DetachVolumeResult detachVolume(DetachVolumeRequest detachVolumeRequest) throws AmazonServiceException, AmazonClientException { Request request = new DetachVolumeRequestMarshaller().marshall(detachVolumeRequest); return invoke(request, new DetachVolumeResultStaxUnmarshaller()); } /** *

* The DeleteKeyPair operation deletes a key pair. *

* * @param deleteKeyPairRequest Container for the necessary parameters to * execute the DeleteKeyPair service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteKeyPair(DeleteKeyPairRequest deleteKeyPairRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteKeyPairRequestMarshaller().marshall(deleteKeyPairRequest); invoke(request, null); } /** *

* The DescribeInstances operation returns information about instances * that you own. *

*

* 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 invalid instance ID, a fault is returned. If you specify an * instance that you do not own, it will not be 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 service method on AmazonEC2. * * @return 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 DescribeInstancesResult describeInstances(DescribeInstancesRequest describeInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeInstancesRequestMarshaller().marshall(describeInstancesRequest); return invoke(request, new DescribeInstancesResultStaxUnmarshaller()); } /** *

* The DescribeImages operation returns information about AMIs, AKIs, * and ARIs available to the user. Information returned includes image * type, product codes, architecture, and kernel and RAM disk IDs. Images * available to the user include public images available for any user to * launch, private images owned by the user making the request, and * private images owned by other users for which the user has explicit * launch permissions. *

*

* Launch permissions fall into three categories: *

* *
    *
  • Public: The owner of the AMI granted launch permissions for the * AMI to the all group. All users have launch permissions for these * AMIs.
  • *
  • Explicit: The owner of the AMI granted launch permissions to a * specific user.
  • *
  • Implicit: A user has implicit launch permissions for all AMIs he * or she owns.
  • * *
*

* The list of AMIs returned can be modified by specifying AMI IDs, AMI * owners, or users with launch permissions. If no options are specified, * Amazon EC2 returns all AMIs for which the user has launch permissions. *

*

* If you specify one or more AMI IDs, only AMIs that have the specified * IDs are returned. If you specify an invalid AMI ID, a fault is * returned. If you specify an AMI ID for which you do not have access, * it will not be included in the returned results. *

*

* If you specify one or more AMI owners, only AMIs from the specified * owners and for which you have access are returned. The results can * include the account IDs of the specified owners, amazon for AMIs owned * by Amazon or self for AMIs that you own. *

*

* If you specify a list of executable users, only users that have * launch permissions for the AMIs are returned. You can specify account * IDs (if you own the AMI(s)), self for AMIs for which you own or have * explicit permissions, or all for public AMIs. *

*

* 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 service method on AmazonEC2. * * @return 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 DescribeImagesResult describeImages(DescribeImagesRequest describeImagesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeImagesRequestMarshaller().marshall(describeImagesRequest); return invoke(request, new DescribeImagesResultStaxUnmarshaller()); } /** *

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

*

* NOTE: Before stopping an instance, make sure it is in a state * from which it can be restarted. Stopping an instance does not preserve * data stored in RAM. Performing this operation on an instance that uses * an instance store as its root device returns an error. *

* * @param startInstancesRequest Container for the necessary parameters to * execute the StartInstances service method on AmazonEC2. * * @return The response from the StartInstances service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public StartInstancesResult startInstances(StartInstancesRequest startInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new StartInstancesRequestMarshaller().marshall(startInstancesRequest); return invoke(request, new StartInstancesResultStaxUnmarshaller()); } /** *

* Disables monitoring for a running instance. *

* * @param unmonitorInstancesRequest Container for the necessary * parameters to execute the UnmonitorInstances service method on * AmazonEC2. * * @return The response from the UnmonitorInstances service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public UnmonitorInstancesResult unmonitorInstances(UnmonitorInstancesRequest unmonitorInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new UnmonitorInstancesRequestMarshaller().marshall(unmonitorInstancesRequest); return invoke(request, new UnmonitorInstancesResultStaxUnmarshaller()); } /** *

* Attaches a VPN gateway to a VPC. This is the last step required to * get your VPC fully connected to your data center before launching * instances in it. For more information, go to Process for Using Amazon * VPC in the Amazon Virtual Private Cloud Developer Guide. *

* * @param attachVpnGatewayRequest Container for the necessary parameters * to execute the AttachVpnGateway service method on AmazonEC2. * * @return 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 AttachVpnGatewayResult attachVpnGateway(AttachVpnGatewayRequest attachVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new AttachVpnGatewayRequestMarshaller().marshall(attachVpnGatewayRequest); return invoke(request, new AttachVpnGatewayResultStaxUnmarshaller()); } /** *

* Modifies an attribute of an instance. *

* * @param modifyInstanceAttributeRequest Container for the necessary * parameters to execute the ModifyInstanceAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void modifyInstanceAttribute(ModifyInstanceAttributeRequest modifyInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ModifyInstanceAttributeRequestMarshaller().marshall(modifyInstanceAttributeRequest); invoke(request, null); } /** *

* Deletes a set of DHCP options that you specify. Amazon VPC returns an * error if the set of options you specify is currently associated with a * VPC. You can disassociate the set of options by associating either a * new set of options or the default options with the VPC. *

* * @param deleteDhcpOptionsRequest Container for the necessary parameters * to execute the DeleteDhcpOptions service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteDhcpOptions(DeleteDhcpOptionsRequest deleteDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteDhcpOptionsRequestMarshaller().marshall(deleteDhcpOptionsRequest); invoke(request, null); } /** *

* The DeleteSecurityGroup operation deletes a security group. *

*

* NOTE: If you attempt to delete a security group that contains * instances, a fault is returned. If you attempt to delete a security * group that is referenced by another security group, a fault is * returned. For example, if security group B has a rule that allows * access from security group A, security group A cannot be deleted until * the allow rule is removed. *

* * @param deleteSecurityGroupRequest Container for the necessary * parameters to execute the DeleteSecurityGroup service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteSecurityGroup(DeleteSecurityGroupRequest deleteSecurityGroupRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteSecurityGroupRequestMarshaller().marshall(deleteSecurityGroupRequest); invoke(request, null); } /** *

* Creates an AMI that uses an Amazon EBS root device from a "running" * or "stopped" instance. AMIs that use an Amazon EBS root device boot * faster than AMIs that use instance stores. They can be up to 1 TiB in * size, use storage that persists on instance failure, and can be * stopped and started. *

* * @param createImageRequest Container for the necessary parameters to * execute the CreateImage service method on AmazonEC2. * * @return 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 CreateImageResult createImage(CreateImageRequest createImageRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateImageRequestMarshaller().marshall(createImageRequest); return invoke(request, new CreateImageResultStaxUnmarshaller()); } /** *

* The AuthorizeSecurityGroupIngress operation adds permissions to a * security group. *

*

* Permissions are specified by the IP protocol (TCP, UDP or ICMP), the * source of the request (by IP range or an Amazon EC2 user-group pair), * the source and destination port ranges (for TCP and UDP), and the ICMP * codes and types (for ICMP). When authorizing ICMP, -1 can be used as a * wildcard in the type and code fields. *

*

* Permission changes are propagated to instances within the security * group as quickly as possible. However, depending on the number of * instances, a small delay might occur. *

* * @param authorizeSecurityGroupIngressRequest Container for the * necessary parameters to execute the AuthorizeSecurityGroupIngress * service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void authorizeSecurityGroupIngress(AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest) throws AmazonServiceException, AmazonClientException { Request request = new AuthorizeSecurityGroupIngressRequestMarshaller().marshall(authorizeSecurityGroupIngressRequest); invoke(request, null); } /** *

* *

* * @param describeSpotInstanceRequestsRequest Container for the necessary * parameters to execute the DescribeSpotInstanceRequests service method * on AmazonEC2. * * @return The response from the DescribeSpotInstanceRequests service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSpotInstanceRequestsResult describeSpotInstanceRequests(DescribeSpotInstanceRequestsRequest describeSpotInstanceRequestsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSpotInstanceRequestsRequestMarshaller().marshall(describeSpotInstanceRequestsRequest); return invoke(request, new DescribeSpotInstanceRequestsResultStaxUnmarshaller()); } /** *

* Associates a set of DHCP options (that you've previously created) * with the specified VPC. Or, associates the default DHCP options with * the VPC. The default set consists of the standard EC2 host name, no * domain name, no DNS server, no NTP server, and no NetBIOS server or * node type. After you associate the options with the VPC, any existing * instances and all new instances that you launch in that VPC use the * options. For more information about the supported DHCP options and * using them with Amazon VPC, go to Using DHCP Options in the Amazon * Virtual Private Cloud Developer Guide. *

* * @param associateDhcpOptionsRequest Container for the necessary * parameters to execute the AssociateDhcpOptions service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void associateDhcpOptions(AssociateDhcpOptionsRequest associateDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new AssociateDhcpOptionsRequestMarshaller().marshall(associateDhcpOptionsRequest); invoke(request, null); } /** *

* Retrieves the encrypted administrator password for the instances * running Windows. *

*

* NOTE: The Windows password is only generated the first time an * AMI is launched. It is not generated for rebundled AMIs or after the * password is changed on an instance. The password is encrypted using * the key pair that you provided. *

* * @param getPasswordDataRequest Container for the necessary parameters * to execute the GetPasswordData service method on AmazonEC2. * * @return 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 GetPasswordDataResult getPasswordData(GetPasswordDataRequest getPasswordDataRequest) throws AmazonServiceException, AmazonClientException { Request request = new GetPasswordDataRequestMarshaller().marshall(getPasswordDataRequest); return invoke(request, new GetPasswordDataResultStaxUnmarshaller()); } /** *

* Creates a VPC with the CIDR block you specify. The smallest VPC you * can create uses a /28 netmask (16 IP addresses), and the largest uses * a /18 netmask (16,384 IP addresses). To help you decide how big to * make your VPC, go to the topic about creating VPCs in the Amazon * Virtual Private Cloud Developer Guide. *

*

* By default, each instance you launch in the VPC has the default DHCP * options (the standard EC2 host name, no domain name, no DNS server, no * NTP server, and no NetBIOS server or node type). *

* * @param createVpcRequest Container for the necessary parameters to * execute the CreateVpc service method on AmazonEC2. * * @return The response from the CreateVpc service method, as returned by * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateVpcResult createVpc(CreateVpcRequest createVpcRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateVpcRequestMarshaller().marshall(createVpcRequest); return invoke(request, new CreateVpcResultStaxUnmarshaller()); } /** *

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

*

* NOTE: Before stopping an instance, make sure it is in a state * from which it can be restarted. Stopping an instance does not preserve * data stored in RAM. Performing this operation on an instance that uses * an instance store as its root device returns an error. *

* * @param stopInstancesRequest Container for the necessary parameters to * execute the StopInstances service method on AmazonEC2. * * @return The response from the StopInstances service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public StopInstancesResult stopInstances(StopInstancesRequest stopInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new StopInstancesRequestMarshaller().marshall(stopInstancesRequest); return invoke(request, new StopInstancesResultStaxUnmarshaller()); } /** *

* Gives you information about your customer gateways. You can filter * the results to return information only about customer gateways that * match criteria you specify. For example, you could ask to get * information about a particular customer gateway (or all) only if the * gateway's state is pending or available. You can specify multiple * filters (e.g., the customer gateway has a particular IP address for * the Internet-routable external interface, and the gateway's state is * pending or available). The result includes information for a * particular customer gateway only if the gateway matches all your * filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @param describeCustomerGatewaysRequest Container for the necessary * parameters to execute the DescribeCustomerGateways service method on * AmazonEC2. * * @return The response from the DescribeCustomerGateways service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeCustomerGatewaysResult describeCustomerGateways(DescribeCustomerGatewaysRequest describeCustomerGatewaysRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeCustomerGatewaysRequestMarshaller().marshall(describeCustomerGatewaysRequest); return invoke(request, new DescribeCustomerGatewaysResultStaxUnmarshaller()); } /** *

* Imports the public key from an RSA key pair created with a * third-party tool. This operation differs from CreateKeyPair as the * private key is never transferred between the caller and AWS servers. *

*

* RSA key pairs are easily created on Microsoft Windows and Linux OS * systems using the ssh-keygen command line tool provided * with the standard OpenSSH installation. Standard library support for * RSA key pair creation is also available for Java, Ruby, Python, and * many other programming languages. *

*

* The following formats are supported: *

* *
    *
  • OpenSSH public key format,
  • *
  • Base64 encoded DER format.
  • *
  • SSH public key file format as specified in RFC4716 .
  • * *
* * @param importKeyPairRequest Container for the necessary parameters to * execute the ImportKeyPair service method on AmazonEC2. * * @return The response from the ImportKeyPair service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public ImportKeyPairResult importKeyPair(ImportKeyPairRequest importKeyPairRequest) throws AmazonServiceException, AmazonClientException { Request request = new ImportKeyPairRequestMarshaller().marshall(importKeyPairRequest); return invoke(request, new ImportKeyPairResultStaxUnmarshaller()); } /** *

* Describes the Spot Price history. *

*

* Spot Instances are instances that Amazon EC2 starts on your behalf * when the maximum price that you specify exceeds the current Spot * Price. Amazon EC2 periodically sets the Spot Price based on available * Spot Instance capacity and current spot instance requests. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @param describeSpotPriceHistoryRequest Container for the necessary * parameters to execute the DescribeSpotPriceHistory service method on * AmazonEC2. * * @return 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 DescribeSpotPriceHistoryResult describeSpotPriceHistory(DescribeSpotPriceHistoryRequest describeSpotPriceHistoryRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSpotPriceHistoryRequestMarshaller().marshall(describeSpotPriceHistoryRequest); return invoke(request, new DescribeSpotPriceHistoryResultStaxUnmarshaller()); } /** *

* The CreateSecurityGroup operation creates a new security group. *

*

* Every instance is launched in a security group. If no security group * is specified during launch, the instances are launched in the default * security group. Instances within the same security group have * unrestricted network access to each other. Instances will reject * network access attempts from other instances in a different security * group. As the owner of instances you can grant or revoke specific * permissions using the AuthorizeSecurityGroupIngress and * RevokeSecurityGroupIngress operations. *

* * @param createSecurityGroupRequest Container for the necessary * parameters to execute the CreateSecurityGroup service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void createSecurityGroup(CreateSecurityGroupRequest createSecurityGroupRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateSecurityGroupRequestMarshaller().marshall(createSecurityGroupRequest); invoke(request, null); } /** *

* The DescribeRegions operation describes regions zones that are * currently available to the account. *

* * @param describeRegionsRequest Container for the necessary parameters * to execute the DescribeRegions service method on AmazonEC2. * * @return The response from the DescribeRegions service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeRegionsResult describeRegions(DescribeRegionsRequest describeRegionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeRegionsRequestMarshaller().marshall(describeRegionsRequest); return invoke(request, new DescribeRegionsResultStaxUnmarshaller()); } /** *

* Creates a set of DHCP options that you can then associate with one or * more VPCs, causing all existing and new instances that you launch in * those VPCs to use the set of DHCP options. The following table lists * the individual DHCP options you can specify. For more information * about the options, go to http://www.ietf.org/rfc/rfc2132.txt *

* * @param createDhcpOptionsRequest Container for the necessary parameters * to execute the CreateDhcpOptions service method on AmazonEC2. * * @return The response from the CreateDhcpOptions service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateDhcpOptionsResult createDhcpOptions(CreateDhcpOptionsRequest createDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateDhcpOptionsRequestMarshaller().marshall(createDhcpOptionsRequest); return invoke(request, new CreateDhcpOptionsResultStaxUnmarshaller()); } /** *

* Resets permission settings for the specified snapshot. *

* * @param resetSnapshotAttributeRequest Container for the necessary * parameters to execute the ResetSnapshotAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void resetSnapshotAttribute(ResetSnapshotAttributeRequest resetSnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ResetSnapshotAttributeRequestMarshaller().marshall(resetSnapshotAttributeRequest); invoke(request, null); } /** *

* The DescribeSecurityGroups operation returns information about * security groups that you own. *

*

* If you specify security group names, information about those security * group is returned. Otherwise, information for all security group is * returned. If you specify a group that does not exist, a fault is * returned. *

* * @param describeSecurityGroupsRequest Container for the necessary * parameters to execute the DescribeSecurityGroups service method on * AmazonEC2. * * @return The response from the DescribeSecurityGroups service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSecurityGroupsResult describeSecurityGroups(DescribeSecurityGroupsRequest describeSecurityGroupsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSecurityGroupsRequestMarshaller().marshall(describeSecurityGroupsRequest); return invoke(request, new DescribeSecurityGroupsResultStaxUnmarshaller()); } /** *

* Creates a Spot Instance request. *

*

* Spot Instances are instances that Amazon EC2 starts on your behalf * when the maximum price that you specify exceeds the current Spot * Price. Amazon EC2 periodically sets the Spot Price based on available * Spot Instance capacity and current spot instance requests. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide. *

* * @param requestSpotInstancesRequest Container for the necessary * parameters to execute the RequestSpotInstances service method on * AmazonEC2. * * @return The response from the RequestSpotInstances service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public RequestSpotInstancesResult requestSpotInstances(RequestSpotInstancesRequest requestSpotInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new RequestSpotInstancesRequestMarshaller().marshall(requestSpotInstancesRequest); return invoke(request, new RequestSpotInstancesResultStaxUnmarshaller()); } /** *

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

* * @param createTagsRequest Container for the necessary parameters to * execute the CreateTags service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void createTags(CreateTagsRequest createTagsRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateTagsRequestMarshaller().marshall(createTagsRequest); invoke(request, null); } /** *

* Detaches a VPN 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 VPN gateway * has been completely detached from a VPC by describing the VPN gateway * (any attachments to the VPN 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 VPN gateway. *

* * @param detachVpnGatewayRequest Container for the necessary parameters * to execute the DetachVpnGateway service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void detachVpnGateway(DetachVpnGatewayRequest detachVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new DetachVpnGatewayRequestMarshaller().marshall(detachVpnGatewayRequest); invoke(request, null); } /** *

* The DeregisterImage operation deregisters an AMI. Once deregistered, * instances of the AMI can no longer be launched. *

* * @param deregisterImageRequest Container for the necessary parameters * to execute the DeregisterImage service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deregisterImage(DeregisterImageRequest deregisterImageRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeregisterImageRequestMarshaller().marshall(deregisterImageRequest); invoke(request, null); } /** *

* Describes the data feed for Spot Instances. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @param describeSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DescribeSpotDatafeedSubscription * service method on AmazonEC2. * * @return The response from the DescribeSpotDatafeedSubscription service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSpotDatafeedSubscriptionResult describeSpotDatafeedSubscription(DescribeSpotDatafeedSubscriptionRequest describeSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSpotDatafeedSubscriptionRequestMarshaller().marshall(describeSpotDatafeedSubscriptionRequest); return invoke(request, new DescribeSpotDatafeedSubscriptionResultStaxUnmarshaller()); } /** *

* Deletes tags from the specified Amazon EC2 resources. *

* * @param deleteTagsRequest Container for the necessary parameters to * execute the DeleteTags service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteTags(DeleteTagsRequest deleteTagsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteTagsRequestMarshaller().marshall(deleteTagsRequest); invoke(request, null); } /** *

* Describes the tags for the specified resources. *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags service method on AmazonEC2. * * @return The response from the DescribeTags service method, as returned * by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeTagsResult describeTags(DescribeTagsRequest describeTagsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeTagsRequestMarshaller().marshall(describeTagsRequest); return invoke(request, new DescribeTagsResultStaxUnmarshaller()); } /** *

* Deletes a subnet from a VPC. You must terminate all running instances * in the subnet before deleting it, otherwise Amazon VPC returns an * error. *

* * @param deleteSubnetRequest Container for the necessary parameters to * execute the DeleteSubnet service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteSubnet(DeleteSubnetRequest deleteSubnetRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteSubnetRequestMarshaller().marshall(deleteSubnetRequest); invoke(request, null); } /** *

* Creates a new VPN gateway. A VPN gateway is the VPC-side endpoint for * your VPN connection. You can create a VPN gateway before creating the * VPC itself. *

* * @param createVpnGatewayRequest Container for the necessary parameters * to execute the CreateVpnGateway service method on AmazonEC2. * * @return The response from the CreateVpnGateway service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateVpnGatewayResult createVpnGateway(CreateVpnGatewayRequest createVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateVpnGatewayRequestMarshaller().marshall(createVpnGatewayRequest); return invoke(request, new CreateVpnGatewayResultStaxUnmarshaller()); } /** *

* CancelBundleTask operation cancels a pending or in-progress bundling * task. This is an asynchronous call and it make take a while for the * task to be canceled. If a task is canceled while it is storing items, * there may be parts of the incomplete AMI stored in S3. It is up to the * caller to clean up these parts from S3. *

* * @param cancelBundleTaskRequest Container for the necessary parameters * to execute the CancelBundleTask service method on AmazonEC2. * * @return The response from the CancelBundleTask service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CancelBundleTaskResult cancelBundleTask(CancelBundleTaskRequest cancelBundleTaskRequest) throws AmazonServiceException, AmazonClientException { Request request = new CancelBundleTaskRequestMarshaller().marshall(cancelBundleTaskRequest); return invoke(request, new CancelBundleTaskResultStaxUnmarshaller()); } /** *

* Deletes a VPN gateway. Use this when you want to delete a VPC and all * its associated components because you no longer need them. We * recommend that before you delete a VPN gateway, you detach it from the * VPC and delete the VPN connection. Note that you don't need to delete * the VPN gateway if you just want to delete and re-create the VPN * connection between your VPC and data center. *

* * @param deleteVpnGatewayRequest Container for the necessary parameters * to execute the DeleteVpnGateway service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteVpnGateway(DeleteVpnGatewayRequest deleteVpnGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteVpnGatewayRequestMarshaller().marshall(deleteVpnGatewayRequest); invoke(request, null); } /** *

* Cancels one or more Spot Instance requests. *

*

* Spot Instances are instances that Amazon EC2 starts on your behalf * when the maximum price that you specify exceeds the current Spot * Price. Amazon EC2 periodically sets the Spot Price based on available * Spot Instance capacity and current spot instance requests. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @param cancelSpotInstanceRequestsRequest Container for the necessary * parameters to execute the CancelSpotInstanceRequests service method on * AmazonEC2. * * @return The response from the CancelSpotInstanceRequests service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CancelSpotInstanceRequestsResult cancelSpotInstanceRequests(CancelSpotInstanceRequestsRequest cancelSpotInstanceRequestsRequest) throws AmazonServiceException, AmazonClientException { Request request = new CancelSpotInstanceRequestsRequestMarshaller().marshall(cancelSpotInstanceRequestsRequest); return invoke(request, new CancelSpotInstanceRequestsResultStaxUnmarshaller()); } /** *

* Attach a previously created volume to a running instance. *

* * @param attachVolumeRequest Container for the necessary parameters to * execute the AttachVolume service method on AmazonEC2. * * @return 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 AttachVolumeResult attachVolume(AttachVolumeRequest attachVolumeRequest) throws AmazonServiceException, AmazonClientException { Request request = new AttachVolumeRequestMarshaller().marshall(attachVolumeRequest); return invoke(request, new AttachVolumeResultStaxUnmarshaller()); } /** *

* Provides details of a user's registered licenses. Zero or more IDs * may be specified on the call. When one or more license IDs are * specified, only data for the specified IDs are returned. *

* * @param describeLicensesRequest Container for the necessary parameters * to execute the DescribeLicenses service method on AmazonEC2. * * @return The response from the DescribeLicenses service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLicensesResult describeLicenses(DescribeLicensesRequest describeLicensesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeLicensesRequestMarshaller().marshall(describeLicensesRequest); return invoke(request, new DescribeLicensesResultStaxUnmarshaller()); } /** *

* The PurchaseReservedInstancesOffering operation purchases a Reserved * Instance for use with your account. With Amazon EC2 Reserved * Instances, you purchase the right to launch Amazon EC2 instances for a * period of time (without getting insufficient capacity errors) and pay * a lower usage rate for the actual time used. *

* * @param purchaseReservedInstancesOfferingRequest Container for the * necessary parameters to execute the PurchaseReservedInstancesOffering * service method on AmazonEC2. * * @return The response from the PurchaseReservedInstancesOffering * service method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public PurchaseReservedInstancesOfferingResult purchaseReservedInstancesOffering(PurchaseReservedInstancesOfferingRequest purchaseReservedInstancesOfferingRequest) throws AmazonServiceException, AmazonClientException { Request request = new PurchaseReservedInstancesOfferingRequestMarshaller().marshall(purchaseReservedInstancesOfferingRequest); return invoke(request, new PurchaseReservedInstancesOfferingResultStaxUnmarshaller()); } /** *

* Activates a specific number of licenses for a 90-day period. * Activations can be done against a specific license ID. *

* * @param activateLicenseRequest Container for the necessary parameters * to execute the ActivateLicense service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void activateLicense(ActivateLicenseRequest activateLicenseRequest) throws AmazonServiceException, AmazonClientException { Request request = new ActivateLicenseRequestMarshaller().marshall(activateLicenseRequest); invoke(request, null); } /** *

* The ResetImageAttribute operation resets an attribute of an AMI to * its default value. *

*

* NOTE: The productCodes attribute cannot be reset. *

* * @param resetImageAttributeRequest Container for the necessary * parameters to execute the ResetImageAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void resetImageAttribute(ResetImageAttributeRequest resetImageAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ResetImageAttributeRequestMarshaller().marshall(resetImageAttributeRequest); invoke(request, null); } /** *

* Gives you information about your VPN connections. *

*

* IMPORTANT: We strongly recommend you use HTTPS when calling * this operation because the response contains sensitive cryptographic * information for configuring your customer gateway. You can filter the * results to return information only about VPN connections that match * criteria you specify. For example, you could ask to get information * about a particular VPN connection (or all) only if the VPN's state is * pending or available. You can specify multiple filters (e.g., the VPN * connection is associated with a particular VPN gateway, and the * gateway's state is pending or available). The result includes * information for a particular VPN connection only if the VPN connection * matches all your filters. If there's no match, no special message is * returned; the response is simply empty. The following table shows the * available filters. *

* * @param describeVpnConnectionsRequest Container for the necessary * parameters to execute the DescribeVpnConnections service method on * AmazonEC2. * * @return The response from the DescribeVpnConnections service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVpnConnectionsResult describeVpnConnections(DescribeVpnConnectionsRequest describeVpnConnectionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeVpnConnectionsRequestMarshaller().marshall(describeVpnConnectionsRequest); return invoke(request, new DescribeVpnConnectionsResultStaxUnmarshaller()); } /** *

* Create a snapshot of the volume identified by volume ID. A volume * does not have to be detached at the time the snapshot is taken. *

*

* NOTE: Snapshot creation requires that the system is in a * consistent state. For instance, this means that if taking a snapshot * of a database, the tables must be read-only locked to ensure that the * snapshot will not contain a corrupted version of the database. * Therefore, be careful when using this API to ensure that the system * remains in the consistent state until the create snapshot status has * returned. *

* * @param createSnapshotRequest Container for the necessary parameters to * execute the CreateSnapshot service method on AmazonEC2. * * @return The response from the CreateSnapshot service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateSnapshotResult createSnapshot(CreateSnapshotRequest createSnapshotRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateSnapshotRequestMarshaller().marshall(createSnapshotRequest); return invoke(request, new CreateSnapshotResultStaxUnmarshaller()); } /** *

* Deletes a previously created volume. Once successfully deleted, a * new volume can be created with the same name. *

* * @param deleteVolumeRequest Container for the necessary parameters to * execute the DeleteVolume service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteVolume(DeleteVolumeRequest deleteVolumeRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteVolumeRequestMarshaller().marshall(deleteVolumeRequest); invoke(request, null); } /** *

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

* * @param modifySnapshotAttributeRequest Container for the necessary * parameters to execute the ModifySnapshotAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void modifySnapshotAttribute(ModifySnapshotAttributeRequest modifySnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ModifySnapshotAttributeRequestMarshaller().marshall(modifySnapshotAttributeRequest); invoke(request, null); } /** *

* The TerminateInstances operation shuts down one or more instances. * This operation is idempotent; if you terminate an instance more than * once, each call will succeed. *

*

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

* * @param terminateInstancesRequest Container for the necessary * parameters to execute the TerminateInstances service method on * AmazonEC2. * * @return 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 TerminateInstancesResult terminateInstances(TerminateInstancesRequest terminateInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new TerminateInstancesRequestMarshaller().marshall(terminateInstancesRequest); return invoke(request, new TerminateInstancesResultStaxUnmarshaller()); } /** *

* Deletes the data feed for Spot Instances. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @param deleteSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the DeleteSpotDatafeedSubscription * service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteSpotDatafeedSubscription(DeleteSpotDatafeedSubscriptionRequest deleteSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteSpotDatafeedSubscriptionRequestMarshaller().marshall(deleteSpotDatafeedSubscriptionRequest); invoke(request, null); } /** *

* Gives you information about your VPCs. You can filter the results to * return information only about VPCs that match criteria you specify. * For example, you could ask to get information about a particular VPC * or VPCs (or all your VPCs) only if the VPC's state is available. You * can specify multiple filters (e.g., the VPC uses one of several sets * of DHCP options, and the VPC's state is available). The result * includes information for a particular VPC only if the VPC matches all * your filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @param describeVpcsRequest Container for the necessary parameters to * execute the DescribeVpcs service method on AmazonEC2. * * @return 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 DescribeVpcsResult describeVpcs(DescribeVpcsRequest describeVpcsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeVpcsRequestMarshaller().marshall(describeVpcsRequest); return invoke(request, new DescribeVpcsResultStaxUnmarshaller()); } /** *

* The AssociateAddress operation associates an elastic IP address with * an instance. *

*

* If the IP address is currently assigned to another instance, the IP * address is assigned to the new instance. This is an idempotent * operation. If you enter it more than once, Amazon EC2 does not return * an error. *

* * @param associateAddressRequest Container for the necessary parameters * to execute the AssociateAddress service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void associateAddress(AssociateAddressRequest associateAddressRequest) throws AmazonServiceException, AmazonClientException { Request request = new AssociateAddressRequestMarshaller().marshall(associateAddressRequest); invoke(request, null); } /** *

* Deactivates a specific number of licenses. Deactivations can be done * against a specific license ID after they have persisted for at least a * 90-day period. *

* * @param deactivateLicenseRequest Container for the necessary parameters * to execute the DeactivateLicense service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deactivateLicense(DeactivateLicenseRequest deactivateLicenseRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeactivateLicenseRequestMarshaller().marshall(deactivateLicenseRequest); invoke(request, null); } /** *

* Returns information about an attribute of a snapshot. Only one * attribute can be specified per call. *

* * @param describeSnapshotAttributeRequest Container for the necessary * parameters to execute the DescribeSnapshotAttribute service method on * AmazonEC2. * * @return The response from the DescribeSnapshotAttribute service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSnapshotAttributeResult describeSnapshotAttribute(DescribeSnapshotAttributeRequest describeSnapshotAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSnapshotAttributeRequestMarshaller().marshall(describeSnapshotAttributeRequest); return invoke(request, new DescribeSnapshotAttributeResultStaxUnmarshaller()); } /** *

* Deletes a customer gateway. You must delete the VPN connection before * deleting the customer gateway. *

*

* You can have a single active customer gateway per AWS account (active * means that you've created a VPN connection with that customer * gateway). AWS might delete any customer gateway you leave inactive for * an extended period of time. *

* * @param deleteCustomerGatewayRequest Container for the necessary * parameters to execute the DeleteCustomerGateway service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteCustomerGateway(DeleteCustomerGatewayRequest deleteCustomerGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteCustomerGatewayRequestMarshaller().marshall(deleteCustomerGatewayRequest); invoke(request, null); } /** *

* The DescribeAddresses operation lists elastic IP addresses assigned * to your account. *

* * @param describeAddressesRequest Container for the necessary parameters * to execute the DescribeAddresses service method on AmazonEC2. * * @return The response from the DescribeAddresses service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeAddressesResult describeAddresses(DescribeAddressesRequest describeAddressesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeAddressesRequestMarshaller().marshall(describeAddressesRequest); return invoke(request, new DescribeAddressesResultStaxUnmarshaller()); } /** *

* The DescribeKeyPairs operation returns information about key pairs * available to you. If you specify key pairs, information about those * key pairs is returned. Otherwise, information for all registered key * pairs is returned. *

* * @param describeKeyPairsRequest Container for the necessary parameters * to execute the DescribeKeyPairs service method on AmazonEC2. * * @return The response from the DescribeKeyPairs service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeKeyPairsResult describeKeyPairs(DescribeKeyPairsRequest describeKeyPairsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeKeyPairsRequestMarshaller().marshall(describeKeyPairsRequest); return invoke(request, new DescribeKeyPairsResultStaxUnmarshaller()); } /** *

* The DescribeImageAttribute operation returns information about an * attribute of an AMI. Only one attribute can be specified per call. *

* * @param describeImageAttributeRequest Container for the necessary * parameters to execute the DescribeImageAttribute service method on * AmazonEC2. * * @return The response from the DescribeImageAttribute service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeImageAttributeResult describeImageAttribute(DescribeImageAttributeRequest describeImageAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeImageAttributeRequestMarshaller().marshall(describeImageAttributeRequest); return invoke(request, new DescribeImageAttributeResultStaxUnmarshaller()); } /** *

* The ConfirmProductInstance operation returns true if the specified * product code is attached to the specified instance. The operation * returns false if the product code is not attached to the instance. *

*

* The ConfirmProductInstance operation can only be executed by the * owner of the AMI. This feature is useful when an AMI owner is * providing support and wants to verify whether a user's instance is * eligible. *

* * @param confirmProductInstanceRequest Container for the necessary * parameters to execute the ConfirmProductInstance service method on * AmazonEC2. * * @return 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 ConfirmProductInstanceResult confirmProductInstance(ConfirmProductInstanceRequest confirmProductInstanceRequest) throws AmazonServiceException, AmazonClientException { Request request = new ConfirmProductInstanceRequestMarshaller().marshall(confirmProductInstanceRequest); return invoke(request, new ConfirmProductInstanceResultStaxUnmarshaller()); } /** *

* Initializes an empty volume of a given size. *

* * @param createVolumeRequest Container for the necessary parameters to * execute the CreateVolume service method on AmazonEC2. * * @return The response from the CreateVolume service method, as returned * by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateVolumeResult createVolume(CreateVolumeRequest createVolumeRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateVolumeRequestMarshaller().marshall(createVolumeRequest); return invoke(request, new CreateVolumeResultStaxUnmarshaller()); } /** *

* Gives you information about your VPN gateways. You can filter the * results to return information only about VPN gateways that match * criteria you specify. For example, you could ask to get information * about a particular VPN gateway (or all) only if the gateway's state is * pending or available. You can specify multiple filters (e.g., the VPN * gateway is in a particular Availability Zone and the gateway's state * is pending or available). The result includes information for a * particular VPN gateway only if the gateway matches all your filters. * If there's no match, no special message is returned; the response is * simply empty. The following table shows the available filters. *

* * @param describeVpnGatewaysRequest Container for the necessary * parameters to execute the DescribeVpnGateways service method on * AmazonEC2. * * @return The response from the DescribeVpnGateways service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVpnGatewaysResult describeVpnGateways(DescribeVpnGatewaysRequest describeVpnGatewaysRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeVpnGatewaysRequestMarshaller().marshall(describeVpnGatewaysRequest); return invoke(request, new DescribeVpnGatewaysResultStaxUnmarshaller()); } /** *

* Creates a subnet in an existing VPC. You can create up to 20 subnets * in a VPC. If you add more than one subnet to a VPC, they're set up in * a star topology with a logical router in the middle. When you create * each subnet, you provide the VPC ID and the CIDR block you want for * the subnet. Once you create a subnet, you can't change its CIDR block. * The subnet's CIDR block can be the same as the VPC's CIDR block * (assuming you want only a single subnet in the VPC), or a subset of * the VPC's CIDR block. If you create more than one subnet in a VPC, the * subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) * you can create uses a /28 netmask (16 IP addresses), and the largest * uses a /18 netmask (16,384 IP addresses). *

*

* IMPORTANT: AWS reserves both the first four and the last IP * address in each subnet's CIDR block. They're not available for use. *

* * @param createSubnetRequest Container for the necessary parameters to * execute the CreateSubnet service method on AmazonEC2. * * @return The response from the CreateSubnet service method, as returned * by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateSubnetResult createSubnet(CreateSubnetRequest createSubnetRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateSubnetRequestMarshaller().marshall(createSubnetRequest); return invoke(request, new CreateSubnetResultStaxUnmarshaller()); } /** *

* The DescribeReservedInstancesOfferings operation describes Reserved * Instance offerings that are available for purchase. With Amazon EC2 * Reserved Instances, you purchase the right to launch Amazon EC2 * instances for a period of time (without getting insufficient capacity * errors) and pay a lower usage rate for the actual time used. *

* * @param describeReservedInstancesOfferingsRequest Container for the * necessary parameters to execute the DescribeReservedInstancesOfferings * service method on AmazonEC2. * * @return 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 DescribeReservedInstancesOfferingsResult describeReservedInstancesOfferings(DescribeReservedInstancesOfferingsRequest describeReservedInstancesOfferingsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeReservedInstancesOfferingsRequestMarshaller().marshall(describeReservedInstancesOfferingsRequest); return invoke(request, new DescribeReservedInstancesOfferingsResultStaxUnmarshaller()); } /** *

* Describes the status of the indicated or, in lieu of any specified, * all volumes belonging to the caller. Volumes that have been deleted * are not described. *

* * @param describeVolumesRequest Container for the necessary parameters * to execute the DescribeVolumes service method on AmazonEC2. * * @return The response from the DescribeVolumes service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVolumesResult describeVolumes(DescribeVolumesRequest describeVolumesRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeVolumesRequestMarshaller().marshall(describeVolumesRequest); return invoke(request, new DescribeVolumesResultStaxUnmarshaller()); } /** *

* Deletes the snapshot identified by snapshotId. *

* * @param deleteSnapshotRequest Container for the necessary parameters to * execute the DeleteSnapshot service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteSnapshot(DeleteSnapshotRequest deleteSnapshotRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteSnapshotRequestMarshaller().marshall(deleteSnapshotRequest); invoke(request, null); } /** *

* Gives you information about one or more sets of DHCP options. You can * specify one or more DHCP options set IDs, or no IDs (to describe all * your sets of DHCP options). The returned information consists of: *

* *
    *
  • The DHCP options set ID
  • *
  • The options
  • * *
* * @param describeDhcpOptionsRequest Container for the necessary * parameters to execute the DescribeDhcpOptions service method on * AmazonEC2. * * @return The response from the DescribeDhcpOptions service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeDhcpOptionsResult describeDhcpOptions(DescribeDhcpOptionsRequest describeDhcpOptionsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeDhcpOptionsRequestMarshaller().marshall(describeDhcpOptionsRequest); return invoke(request, new DescribeDhcpOptionsResultStaxUnmarshaller()); } /** *

* Enables monitoring for a running instance. *

* * @param monitorInstancesRequest Container for the necessary parameters * to execute the MonitorInstances service method on AmazonEC2. * * @return The response from the MonitorInstances service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public MonitorInstancesResult monitorInstances(MonitorInstancesRequest monitorInstancesRequest) throws AmazonServiceException, AmazonClientException { Request request = new MonitorInstancesRequestMarshaller().marshall(monitorInstancesRequest); return invoke(request, new MonitorInstancesResultStaxUnmarshaller()); } /** *

* The DisassociateAddress operation disassociates the specified elastic * IP address from the instance to which it is assigned. This is an * idempotent operation. If you enter it more than once, Amazon EC2 does * not return an error. *

* * @param disassociateAddressRequest Container for the necessary * parameters to execute the DisassociateAddress service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void disassociateAddress(DisassociateAddressRequest disassociateAddressRequest) throws AmazonServiceException, AmazonClientException { Request request = new DisassociateAddressRequestMarshaller().marshall(disassociateAddressRequest); invoke(request, null); } /** *

* Creates a PlacementGroup into which multiple Amazon EC2 instances can * be launched. Users must give the group a name unique within the scope * of the user account. *

* * @param createPlacementGroupRequest Container for the necessary * parameters to execute the CreatePlacementGroup service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void createPlacementGroup(CreatePlacementGroupRequest createPlacementGroupRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreatePlacementGroupRequestMarshaller().marshall(createPlacementGroupRequest); invoke(request, null); } /** *

* The DescribeBundleTasks operation describes in-progress and recent * bundle tasks. Complete and failed tasks are removed from the list a * short time after completion. If no bundle ids are given, all bundle * tasks are returned. *

* * @param describeBundleTasksRequest Container for the necessary * parameters to execute the DescribeBundleTasks service method on * AmazonEC2. * * @return The response from the DescribeBundleTasks service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeBundleTasksResult describeBundleTasks(DescribeBundleTasksRequest describeBundleTasksRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeBundleTasksRequestMarshaller().marshall(describeBundleTasksRequest); return invoke(request, new DescribeBundleTasksResultStaxUnmarshaller()); } /** *

* The BundleInstance operation request that an instance is bundled the * next time it boots. The bundling process creates a new image from a * running instance and stores the AMI data in S3. Once bundled, the * image must be registered in the normal way using the RegisterImage * API. *

* * @param bundleInstanceRequest Container for the necessary parameters to * execute the BundleInstance service method on AmazonEC2. * * @return The response from the BundleInstance service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public BundleInstanceResult bundleInstance(BundleInstanceRequest bundleInstanceRequest) throws AmazonServiceException, AmazonClientException { Request request = new BundleInstanceRequestMarshaller().marshall(bundleInstanceRequest); return invoke(request, new BundleInstanceResultStaxUnmarshaller()); } /** *

* Deletes a PlacementGroup from a user's account. Terminate all Amazon * EC2 instances in the placement group before deletion. *

* * @param deletePlacementGroupRequest Container for the necessary * parameters to execute the DeletePlacementGroup service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deletePlacementGroup(DeletePlacementGroupRequest deletePlacementGroupRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeletePlacementGroupRequestMarshaller().marshall(deletePlacementGroupRequest); invoke(request, null); } /** *

* The RevokeSecurityGroupIngress operation revokes permissions from a * security group. The permissions used to revoke must be specified using * the same values used to grant the permissions. *

*

* Permissions are specified by IP protocol (TCP, UDP, or ICMP), the * source of the request (by IP range or an Amazon EC2 user-group pair), * the source and destination port ranges (for TCP and UDP), and the ICMP * codes and types (for ICMP). *

*

* Permission changes are quickly propagated to instances within the * security group. However, depending on the number of instances in the * group, a small delay might occur. *

* * @param revokeSecurityGroupIngressRequest Container for the necessary * parameters to execute the RevokeSecurityGroupIngress service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void revokeSecurityGroupIngress(RevokeSecurityGroupIngressRequest revokeSecurityGroupIngressRequest) throws AmazonServiceException, AmazonClientException { Request request = new RevokeSecurityGroupIngressRequestMarshaller().marshall(revokeSecurityGroupIngressRequest); invoke(request, null); } /** *

* Deletes a VPC. You must terminate all running instances and delete * all subnets before deleting the VPC, otherwise Amazon VPC returns an * error. *

* * @param deleteVpcRequest Container for the necessary parameters to * execute the DeleteVpc service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteVpc(DeleteVpcRequest deleteVpcRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteVpcRequestMarshaller().marshall(deleteVpcRequest); invoke(request, null); } /** *

* The GetConsoleOutput operation retrieves console output for the * specified instance. *

*

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

* * @param getConsoleOutputRequest Container for the necessary parameters * to execute the GetConsoleOutput service method on AmazonEC2. * * @return The response from the GetConsoleOutput service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public GetConsoleOutputResult getConsoleOutput(GetConsoleOutputRequest getConsoleOutputRequest) throws AmazonServiceException, AmazonClientException { Request request = new GetConsoleOutputRequestMarshaller().marshall(getConsoleOutputRequest); return invoke(request, new GetConsoleOutputResultStaxUnmarshaller()); } /** *

* The AllocateAddress operation acquires an elastic IP address for use * with your account. *

* * @param allocateAddressRequest Container for the necessary parameters * to execute the AllocateAddress service method on AmazonEC2. * * @return The response from the AllocateAddress service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public AllocateAddressResult allocateAddress(AllocateAddressRequest allocateAddressRequest) throws AmazonServiceException, AmazonClientException { Request request = new AllocateAddressRequestMarshaller().marshall(allocateAddressRequest); return invoke(request, new AllocateAddressResultStaxUnmarshaller()); } /** *

* The ModifyImageAttribute operation modifies an attribute of an AMI. *

* * @param modifyImageAttributeRequest Container for the necessary * parameters to execute the ModifyImageAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void modifyImageAttribute(ModifyImageAttributeRequest modifyImageAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ModifyImageAttributeRequestMarshaller().marshall(modifyImageAttributeRequest); invoke(request, null); } /** *

* The ReleaseAddress operation releases an elastic IP address * associated with your account. *

*

* NOTE: Releasing an IP address automatically disassociates it * from any instance with which it is associated. For more information, * see DisassociateAddress. *

*

* IMPORTANT: After releasing an elastic IP address, it is * released to the IP address pool and might no longer be available to * your account. Make sure to update your DNS records and any servers or * devices that communicate with the address. If you run this operation * on an elastic IP address that is already released, the address might * be assigned to another account which will cause Amazon EC2 to return * an error. *

* * @param releaseAddressRequest Container for the necessary parameters to * execute the ReleaseAddress service method on AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void releaseAddress(ReleaseAddressRequest releaseAddressRequest) throws AmazonServiceException, AmazonClientException { Request request = new ReleaseAddressRequestMarshaller().marshall(releaseAddressRequest); invoke(request, null); } /** *

* Provides information to AWS about your customer gateway device. The * customer gateway is the appliance at your end of the VPN connection * (compared to the VPN gateway, which is the device at the AWS side of * the VPN connection). You can have a single active customer gateway per * AWS account (active means that you've created a VPN connection to use * with the customer gateway). AWS might delete any customer gateway that * you create with this operation if you leave it inactive for an * extended period of time. *

*

* You must provide the Internet-routable IP address of the customer * gateway's external interface. The IP address must be static. *

*

* You must also provide the device's Border Gateway Protocol (BGP) * Autonomous System Number (ASN). You can use an existing ASN assigned * to your network. If you don't have an ASN already, you can use a * private ASN (in the 64512 - 65534 range). For more information about * ASNs, go to * http://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29 . *

* * @param createCustomerGatewayRequest Container for the necessary * parameters to execute the CreateCustomerGateway service method on * AmazonEC2. * * @return The response from the CreateCustomerGateway service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateCustomerGatewayResult createCustomerGateway(CreateCustomerGatewayRequest createCustomerGatewayRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateCustomerGatewayRequestMarshaller().marshall(createCustomerGatewayRequest); return invoke(request, new CreateCustomerGatewayResultStaxUnmarshaller()); } /** *

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

* * @param resetInstanceAttributeRequest Container for the necessary * parameters to execute the ResetInstanceAttribute service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void resetInstanceAttribute(ResetInstanceAttributeRequest resetInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new ResetInstanceAttributeRequestMarshaller().marshall(resetInstanceAttributeRequest); invoke(request, null); } /** *

* Creates the data feed for Spot Instances, enabling you to view Spot * Instance usage logs. You can create one data feed per account. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @param createSpotDatafeedSubscriptionRequest Container for the * necessary parameters to execute the CreateSpotDatafeedSubscription * service method on AmazonEC2. * * @return 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 CreateSpotDatafeedSubscriptionResult createSpotDatafeedSubscription(CreateSpotDatafeedSubscriptionRequest createSpotDatafeedSubscriptionRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateSpotDatafeedSubscriptionRequestMarshaller().marshall(createSpotDatafeedSubscriptionRequest); return invoke(request, new CreateSpotDatafeedSubscriptionResultStaxUnmarshaller()); } /** *

* The CreateKeyPair operation creates a new 2048 bit RSA key pair and * returns a unique ID that can be used to reference this key pair when * launching new instances. For more information, see RunInstances. *

* * @param createKeyPairRequest Container for the necessary parameters to * execute the CreateKeyPair service method on AmazonEC2. * * @return The response from the CreateKeyPair service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public CreateKeyPairResult createKeyPair(CreateKeyPairRequest createKeyPairRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateKeyPairRequestMarshaller().marshall(createKeyPairRequest); return invoke(request, new CreateKeyPairResultStaxUnmarshaller()); } /** *

* Returns information about the Amazon EBS snapshots available to you. * Snapshots available to you include public snapshots available for any * AWS account to launch, private snapshots you own, and private * snapshots owned by another AWS account but for which you've been given * explicit create volume permissions. *

* * @param describeSnapshotsRequest Container for the necessary parameters * to execute the DescribeSnapshots service method on AmazonEC2. * * @return The response from the DescribeSnapshots service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSnapshotsResult describeSnapshots(DescribeSnapshotsRequest describeSnapshotsRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeSnapshotsRequestMarshaller().marshall(describeSnapshotsRequest); return invoke(request, new DescribeSnapshotsResultStaxUnmarshaller()); } /** *

* The RegisterImage operation registers an AMI with Amazon EC2. Images * must be registered before they can be launched. For more information, * see RunInstances. *

*

* Each AMI is associated with an unique ID which is provided by the * Amazon EC2 service through the RegisterImage operation. During * registration, Amazon EC2 retrieves the specified image manifest from * Amazon S3 and verifies that the image is owned by the user registering * the image. *

*

* The image manifest is retrieved once and stored within the Amazon * EC2. Any modifications to an image in Amazon S3 invalidates this * registration. If you make changes to an image, deregister the previous * image and register the new image. For more information, see * DeregisterImage. *

* * @param registerImageRequest Container for the necessary parameters to * execute the RegisterImage service method on AmazonEC2. * * @return The response from the RegisterImage service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public RegisterImageResult registerImage(RegisterImageRequest registerImageRequest) throws AmazonServiceException, AmazonClientException { Request request = new RegisterImageRequestMarshaller().marshall(registerImageRequest); return invoke(request, new RegisterImageResultStaxUnmarshaller()); } /** *

* Deletes a VPN connection. Use this if you want to delete a VPC and * all its associated components. Another reason to use this operation is * if you believe the tunnel credentials for your VPN connection have * been compromised. In that situation, you can delete the VPN connection * and create a new one that has new keys, without needing to delete the * VPC or VPN gateway. If you create a new VPN connection, you must * reconfigure the customer gateway using the new configuration * information returned with the new VPN connection ID. *

*

* If you're deleting the VPC and all its associated parts, we recommend * you detach the VPN gateway from the VPC and delete the VPC before * deleting the VPN connection. *

* * @param deleteVpnConnectionRequest Container for the necessary * parameters to execute the DeleteVpnConnection service method on * AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteVpnConnection(DeleteVpnConnectionRequest deleteVpnConnectionRequest) throws AmazonServiceException, AmazonClientException { Request request = new DeleteVpnConnectionRequestMarshaller().marshall(deleteVpnConnectionRequest); invoke(request, null); } /** *

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

*

* The response includes information that you need to configure your * customer gateway, in XML format. We recommend you use the command line * version of this operation (ec2-create-vpn-connection), which takes an * -f option (for format) and returns configuration information formatted * as expected by the vendor you specified, or in a generic, human * readable format. For information about the command, go to * ec2-create-vpn-connection in the Amazon Virtual Private Cloud Command * Line Reference. *

*

* IMPORTANT: We strongly recommend 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 then create a new * one, you must re-configure your customer gateway with the new * information returned from this call. *

* * @param createVpnConnectionRequest Container for the necessary * parameters to execute the CreateVpnConnection service method on * AmazonEC2. * * @return 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 CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest createVpnConnectionRequest) throws AmazonServiceException, AmazonClientException { Request request = new CreateVpnConnectionRequestMarshaller().marshall(createVpnConnectionRequest); return invoke(request, new CreateVpnConnectionResultStaxUnmarshaller()); } /** *

* Returns information about an attribute of an instance. Only one * attribute can be specified per call. *

* * @param describeInstanceAttributeRequest Container for the necessary * parameters to execute the DescribeInstanceAttribute service method on * AmazonEC2. * * @return The response from the DescribeInstanceAttribute service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeInstanceAttributeResult describeInstanceAttribute(DescribeInstanceAttributeRequest describeInstanceAttributeRequest) throws AmazonServiceException, AmazonClientException { Request request = new DescribeInstanceAttributeRequestMarshaller().marshall(describeInstanceAttributeRequest); return invoke(request, new DescribeInstanceAttributeResultStaxUnmarshaller()); } /** *

* Returns information about one or more PlacementGroup instances in a * user's account. *

* * @return The response from the DescribePlacementGroups service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribePlacementGroupsResult describePlacementGroups() throws AmazonServiceException, AmazonClientException { return describePlacementGroups(new DescribePlacementGroupsRequest()); } /** *

* The DescribeReservedInstances operation describes Reserved Instances * that were purchased for use with your account. *

* * @return The response from the DescribeReservedInstances service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeReservedInstancesResult describeReservedInstances() throws AmazonServiceException, AmazonClientException { return describeReservedInstances(new DescribeReservedInstancesRequest()); } /** *

* Gives you information about your subnets. You can filter the results * to return information only about subnets that match criteria you * specify. For example, you could ask to get information about a * particular subnet (or all) only if the subnet's state is available. * You can specify multiple filters (e.g., the subnet is in a particular * VPC, and the subnet's state is available). The result includes * information for a particular subnet only if the subnet matches all * your filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @return 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 DescribeSubnetsResult describeSubnets() throws AmazonServiceException, AmazonClientException { return describeSubnets(new DescribeSubnetsRequest()); } /** *

* The DescribeAvailabilityZones operation describes availability zones * that are currently available to the account and their states. *

*

* Availability zones are not the same across accounts. The availability * zone us-east-1a for account A is not necessarily the same as * us-east-1a for account B. Zone assignments are mapped independently * for each account. *

* * @return 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 DescribeAvailabilityZonesResult describeAvailabilityZones() throws AmazonServiceException, AmazonClientException { return describeAvailabilityZones(new DescribeAvailabilityZonesRequest()); } /** *

* The DescribeInstances operation returns information about instances * that you own. *

*

* 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 invalid instance ID, a fault is returned. If you specify an * instance that you do not own, it will not be included in the returned * results. *

*

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

* * @return 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 DescribeInstancesResult describeInstances() throws AmazonServiceException, AmazonClientException { return describeInstances(new DescribeInstancesRequest()); } /** *

* The DescribeImages operation returns information about AMIs, AKIs, * and ARIs available to the user. Information returned includes image * type, product codes, architecture, and kernel and RAM disk IDs. Images * available to the user include public images available for any user to * launch, private images owned by the user making the request, and * private images owned by other users for which the user has explicit * launch permissions. *

*

* Launch permissions fall into three categories: *

* *
    *
  • Public: The owner of the AMI granted launch permissions for the * AMI to the all group. All users have launch permissions for these * AMIs.
  • *
  • Explicit: The owner of the AMI granted launch permissions to a * specific user.
  • *
  • Implicit: A user has implicit launch permissions for all AMIs he * or she owns.
  • * *
*

* The list of AMIs returned can be modified by specifying AMI IDs, AMI * owners, or users with launch permissions. If no options are specified, * Amazon EC2 returns all AMIs for which the user has launch permissions. *

*

* If you specify one or more AMI IDs, only AMIs that have the specified * IDs are returned. If you specify an invalid AMI ID, a fault is * returned. If you specify an AMI ID for which you do not have access, * it will not be included in the returned results. *

*

* If you specify one or more AMI owners, only AMIs from the specified * owners and for which you have access are returned. The results can * include the account IDs of the specified owners, amazon for AMIs owned * by Amazon or self for AMIs that you own. *

*

* If you specify a list of executable users, only users that have * launch permissions for the AMIs are returned. You can specify account * IDs (if you own the AMI(s)), self for AMIs for which you own or have * explicit permissions, or all for public AMIs. *

*

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

* * @return 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 DescribeImagesResult describeImages() throws AmazonServiceException, AmazonClientException { return describeImages(new DescribeImagesRequest()); } /** *

* *

* * @return The response from the DescribeSpotInstanceRequests service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSpotInstanceRequestsResult describeSpotInstanceRequests() throws AmazonServiceException, AmazonClientException { return describeSpotInstanceRequests(new DescribeSpotInstanceRequestsRequest()); } /** *

* Gives you information about your customer gateways. You can filter * the results to return information only about customer gateways that * match criteria you specify. For example, you could ask to get * information about a particular customer gateway (or all) only if the * gateway's state is pending or available. You can specify multiple * filters (e.g., the customer gateway has a particular IP address for * the Internet-routable external interface, and the gateway's state is * pending or available). The result includes information for a * particular customer gateway only if the gateway matches all your * filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @return The response from the DescribeCustomerGateways service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeCustomerGatewaysResult describeCustomerGateways() throws AmazonServiceException, AmazonClientException { return describeCustomerGateways(new DescribeCustomerGatewaysRequest()); } /** *

* Describes the Spot Price history. *

*

* Spot Instances are instances that Amazon EC2 starts on your behalf * when the maximum price that you specify exceeds the current Spot * Price. Amazon EC2 periodically sets the Spot Price based on available * Spot Instance capacity and current spot instance requests. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @return 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 DescribeSpotPriceHistoryResult describeSpotPriceHistory() throws AmazonServiceException, AmazonClientException { return describeSpotPriceHistory(new DescribeSpotPriceHistoryRequest()); } /** *

* The DescribeRegions operation describes regions zones that are * currently available to the account. *

* * @return The response from the DescribeRegions service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeRegionsResult describeRegions() throws AmazonServiceException, AmazonClientException { return describeRegions(new DescribeRegionsRequest()); } /** *

* The DescribeSecurityGroups operation returns information about * security groups that you own. *

*

* If you specify security group names, information about those security * group is returned. Otherwise, information for all security group is * returned. If you specify a group that does not exist, a fault is * returned. *

* * @return The response from the DescribeSecurityGroups service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSecurityGroupsResult describeSecurityGroups() throws AmazonServiceException, AmazonClientException { return describeSecurityGroups(new DescribeSecurityGroupsRequest()); } /** *

* Describes the data feed for Spot Instances. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * @return The response from the DescribeSpotDatafeedSubscription service * method, as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSpotDatafeedSubscriptionResult describeSpotDatafeedSubscription() throws AmazonServiceException, AmazonClientException { return describeSpotDatafeedSubscription(new DescribeSpotDatafeedSubscriptionRequest()); } /** *

* Describes the tags for the specified resources. *

* * @return The response from the DescribeTags service method, as returned * by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeTagsResult describeTags() throws AmazonServiceException, AmazonClientException { return describeTags(new DescribeTagsRequest()); } /** *

* Provides details of a user's registered licenses. Zero or more IDs * may be specified on the call. When one or more license IDs are * specified, only data for the specified IDs are returned. *

* * @return The response from the DescribeLicenses service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLicensesResult describeLicenses() throws AmazonServiceException, AmazonClientException { return describeLicenses(new DescribeLicensesRequest()); } /** *

* Gives you information about your VPN connections. *

*

* IMPORTANT: We strongly recommend you use HTTPS when calling * this operation because the response contains sensitive cryptographic * information for configuring your customer gateway. You can filter the * results to return information only about VPN connections that match * criteria you specify. For example, you could ask to get information * about a particular VPN connection (or all) only if the VPN's state is * pending or available. You can specify multiple filters (e.g., the VPN * connection is associated with a particular VPN gateway, and the * gateway's state is pending or available). The result includes * information for a particular VPN connection only if the VPN connection * matches all your filters. If there's no match, no special message is * returned; the response is simply empty. The following table shows the * available filters. *

* * @return The response from the DescribeVpnConnections service method, * as returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVpnConnectionsResult describeVpnConnections() throws AmazonServiceException, AmazonClientException { return describeVpnConnections(new DescribeVpnConnectionsRequest()); } /** *

* Deletes the data feed for Spot Instances. *

*

* For conceptual information about Spot Instances, refer to the Amazon * Elastic Compute Cloud Developer Guide or Amazon Elastic Compute Cloud * User Guide . * *

* * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public void deleteSpotDatafeedSubscription() throws AmazonServiceException, AmazonClientException { deleteSpotDatafeedSubscription(new DeleteSpotDatafeedSubscriptionRequest()); } /** *

* Gives you information about your VPCs. You can filter the results to * return information only about VPCs that match criteria you specify. * For example, you could ask to get information about a particular VPC * or VPCs (or all your VPCs) only if the VPC's state is available. You * can specify multiple filters (e.g., the VPC uses one of several sets * of DHCP options, and the VPC's state is available). The result * includes information for a particular VPC only if the VPC matches all * your filters. If there's no match, no special message is returned; the * response is simply empty. The following table shows the available * filters. *

* * @return 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 DescribeVpcsResult describeVpcs() throws AmazonServiceException, AmazonClientException { return describeVpcs(new DescribeVpcsRequest()); } /** *

* The DescribeAddresses operation lists elastic IP addresses assigned * to your account. *

* * @return The response from the DescribeAddresses service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeAddressesResult describeAddresses() throws AmazonServiceException, AmazonClientException { return describeAddresses(new DescribeAddressesRequest()); } /** *

* The DescribeKeyPairs operation returns information about key pairs * available to you. If you specify key pairs, information about those * key pairs is returned. Otherwise, information for all registered key * pairs is returned. *

* * @return The response from the DescribeKeyPairs service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeKeyPairsResult describeKeyPairs() throws AmazonServiceException, AmazonClientException { return describeKeyPairs(new DescribeKeyPairsRequest()); } /** *

* Gives you information about your VPN gateways. You can filter the * results to return information only about VPN gateways that match * criteria you specify. For example, you could ask to get information * about a particular VPN gateway (or all) only if the gateway's state is * pending or available. You can specify multiple filters (e.g., the VPN * gateway is in a particular Availability Zone and the gateway's state * is pending or available). The result includes information for a * particular VPN gateway only if the gateway matches all your filters. * If there's no match, no special message is returned; the response is * simply empty. The following table shows the available filters. *

* * @return The response from the DescribeVpnGateways service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVpnGatewaysResult describeVpnGateways() throws AmazonServiceException, AmazonClientException { return describeVpnGateways(new DescribeVpnGatewaysRequest()); } /** *

* The DescribeReservedInstancesOfferings operation describes Reserved * Instance offerings that are available for purchase. With Amazon EC2 * Reserved Instances, you purchase the right to launch Amazon EC2 * instances for a period of time (without getting insufficient capacity * errors) and pay a lower usage rate for the actual time used. *

* * @return 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 DescribeReservedInstancesOfferingsResult describeReservedInstancesOfferings() throws AmazonServiceException, AmazonClientException { return describeReservedInstancesOfferings(new DescribeReservedInstancesOfferingsRequest()); } /** *

* Describes the status of the indicated or, in lieu of any specified, * all volumes belonging to the caller. Volumes that have been deleted * are not described. *

* * @return The response from the DescribeVolumes service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeVolumesResult describeVolumes() throws AmazonServiceException, AmazonClientException { return describeVolumes(new DescribeVolumesRequest()); } /** *

* Gives you information about one or more sets of DHCP options. You can * specify one or more DHCP options set IDs, or no IDs (to describe all * your sets of DHCP options). The returned information consists of: *

* *
    *
  • The DHCP options set ID
  • *
  • The options
  • * *
* * @return The response from the DescribeDhcpOptions service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeDhcpOptionsResult describeDhcpOptions() throws AmazonServiceException, AmazonClientException { return describeDhcpOptions(new DescribeDhcpOptionsRequest()); } /** *

* The DescribeBundleTasks operation describes in-progress and recent * bundle tasks. Complete and failed tasks are removed from the list a * short time after completion. If no bundle ids are given, all bundle * tasks are returned. *

* * @return The response from the DescribeBundleTasks service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeBundleTasksResult describeBundleTasks() throws AmazonServiceException, AmazonClientException { return describeBundleTasks(new DescribeBundleTasksRequest()); } /** *

* The AllocateAddress operation acquires an elastic IP address for use * with your account. *

* * @return The response from the AllocateAddress service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public AllocateAddressResult allocateAddress() throws AmazonServiceException, AmazonClientException { return allocateAddress(new AllocateAddressRequest()); } /** *

* Returns information about the Amazon EBS snapshots available to you. * Snapshots available to you include public snapshots available for any * AWS account to launch, private snapshots you own, and private * snapshots owned by another AWS account but for which you've been given * explicit create volume permissions. *

* * @return The response from the DescribeSnapshots service method, as * returned by AmazonEC2. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonEC2 indicating * either a problem with the data in the request, or a server side issue. */ public DescribeSnapshotsResult describeSnapshots() throws AmazonServiceException, AmazonClientException { return describeSnapshots(new DescribeSnapshotsRequest()); } /** * Returns additional metadata for a previously executed successful, request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private X invoke(Request request, Unmarshaller unmarshaller) { request.setEndpoint(endpoint); for (Entry entry : request.getOriginalRequest().copyPrivateRequestParameters().entrySet()) { request.addParameter(entry.getKey(), entry.getValue()); } // Apply any additional service specific request handlers that need to be run if (requestHandlers != null) { for (RequestHandler requestHandler : requestHandlers) { request = requestHandler.handleRequest(request); } } try { signer.sign(request); } catch (SignatureException e) { throw new AmazonServiceException("Unable to sign request", e); } HttpRequest httpRequest = convertToHttpRequest(request, HttpMethodName.POST); StaxResponseHandler responseHandler = new StaxResponseHandler(unmarshaller); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallers); return (X)client.execute(httpRequest, responseHandler, errorResponseHandler); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy