/*
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.ec2;
import org.w3c.dom.*;
import java.util.*;
import java.util.Map.Entry;
import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
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.
* <p>
* Amazon Elastic Compute Cloud <p>
* Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing
* capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2
* eliminates your need to invest in hardware up front, so you can
* develop and deploy applications faster.
* </p>
*/
public class AmazonEC2Client extends AmazonWebServiceClient implements AmazonEC2 {
/** Provider for AWS credentials. */
private AWSCredentialsProvider awsCredentialsProvider;
/**
* List of exception unmarshallers for all AmazonEC2 exceptions.
*/
protected final List<Unmarshaller<AmazonServiceException, Node>> exceptionUnmarshallers
= new ArrayList<Unmarshaller<AmazonServiceException, Node>>();
/**
* Constructs a new client to invoke service methods on
* AmazonEC2. A credentials provider chain will be used
* that searches for credentials in this order:
* <ul>
* <li> Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY </li>
* <li> Java System Properties - aws.accessKeyId and aws.secretKey </li>
* <li> Instance profile credentials delivered through the Amazon EC2 metadata service </li>
* </ul>
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @see DefaultAWSCredentialsProviderChain
*/
@Deprecated
public AmazonEC2Client() {
this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration());
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2. A credentials provider chain will be used
* that searches for credentials in this order:
* <ul>
* <li> Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY </li>
* <li> Java System Properties - aws.accessKeyId and aws.secretKey </li>
* <li> Instance profile credentials delivered through the Amazon EC2 metadata service </li>
* </ul>
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @param clientConfiguration The client configuration options controlling how this
* client connects to AmazonEC2
* (ex: proxy settings, retry counts, etc.).
*
* @see DefaultAWSCredentialsProviderChain
*/
@Deprecated
public AmazonEC2Client(ClientConfiguration clientConfiguration) {
this(new DefaultAWSCredentialsProviderChain(), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2 using the specified AWS account credentials.
*
* <p>
* 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.
*
* <p>
* 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) {
this(new StaticCredentialsProvider(awsCredentials), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2 using the specified AWS account credentials provider.
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials
* to authenticate requests with AWS services.
*/
public AmazonEC2Client(AWSCredentialsProvider awsCredentialsProvider) {
this(awsCredentialsProvider, new ClientConfiguration());
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2 using the specified AWS account credentials
* provider and client configuration options.
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials
* to authenticate requests with AWS services.
* @param clientConfiguration The client configuration options controlling how this
* client connects to AmazonEC2
* (ex: proxy settings, retry counts, etc.).
*/
public AmazonEC2Client(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration) {
this(awsCredentialsProvider, clientConfiguration, new UrlHttpClient(clientConfiguration));
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2 using the specified AWS account credentials
* provider and client configuration options.
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials
* to authenticate requests with AWS services.
* @param clientConfiguration The client configuration options controlling how this
* client connects to AmazonEC2
* (ex: proxy settings, retry counts, etc.).
* @param httpClient A http client
*/
public AmazonEC2Client(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration, HttpClient httpClient) {
super(clientConfiguration, httpClient);
this.awsCredentialsProvider = awsCredentialsProvider;
init();
}
/**
* Constructs a new client to invoke service methods on
* AmazonEC2 using the specified AWS account credentials
* provider, client configuration options, and request metric collector.
*
* <p>
* All service calls made using this new client object are blocking, and will not
* return until the service call completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials
* to authenticate requests with AWS services.
* @param clientConfiguration The client configuration options controlling how this
* client connects to AmazonEC2
* (ex: proxy settings, retry counts, etc.).
* @param requestMetricCollector optional request metric collector
*/
@Deprecated
public AmazonEC2Client(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector) {
super(clientConfiguration, requestMetricCollector);
this.awsCredentialsProvider = awsCredentialsProvider;
init();
}
private void init() {
exceptionUnmarshallers.add(new LegacyErrorUnmarshaller());
// calling this.setEndPoint(...) will also modify the signer accordingly
this.setEndpoint("ec2.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain(
"/com/amazonaws/services/ec2/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain(
"/com/amazonaws/services/ec2/request.handler2s"));
}
/**
* <p>
* Deletes the specified placement group. You must terminate all
* instances in the placement group before you can delete the placement
* group. For more information about placement groups and cluster
* instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html"> Cluster Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deletePlacementGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeletePlacementGroupRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeletePlacementGroupRequestMarshaller().marshall(deletePlacementGroupRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a set of DHCP options for your VPC. After creating the set,
* you must associate it with the VPC, causing all existing and new
* instances that you launch in the VPC to use this set of DHCP options.
* The following are the individual DHCP options you can specify. For
* more information about the options, see
* <a href="http://www.ietf.org/rfc/rfc2132.txt"> RFC 2132 </a>
* .
* </p>
*
* <ul>
* <li> <p>
* <code>domain-name-servers</code> - The IP addresses of up to four
* domain name servers, or AmazonProvidedDNS. The default DHCP option set
* specifies AmazonProvidedDNS. If specifying more than one domain name
* server, specify the IP addresses in a single parameter, separated by
* commas.
* </p>
* </li>
* <li> <p>
* <code>domain-name</code> - If you're using AmazonProvidedDNS in
* "us-east-1", specify "ec2.internal". If you're using AmazonProvidedDNS
* in another region, specify "region.compute.internal" (for example,
* "ap-northeast-1.compute.internal"). Otherwise, specify a domain name
* (for example, "MyCompany.com"). <b>Important</b> : Some Linux
* operating systems accept multiple domain names separated by spaces.
* However, Windows and other Linux operating systems treat the value as
* a single domain, which results in unexpected behavior. If your DHCP
* options set is associated with a VPC that has instances with multiple
* operating systems, specify only one domain name.
* </p>
* </li>
* <li> <p>
* <code>ntp-servers</code> - The IP addresses of up to four Network
* Time Protocol (NTP) servers.
* </p>
* </li>
* <li> <p>
* <code>netbios-name-servers</code> - The IP addresses of up to four
* NetBIOS name servers.
* </p>
* </li>
* <li> <p>
* <code>netbios-node-type</code> - The NetBIOS node type (1, 2, 4, or
* 8). We recommend that you specify 2 (broadcast and multicast are not
* currently supported). For more information about these node types, see
* <a href="http://www.ietf.org/rfc/rfc2132.txt"> RFC 2132 </a>
* .
* </p>
* </li>
*
* </ul>
* <p>
* Your VPC automatically starts out with a set of DHCP options that
* includes only a DNS server that we provide (AmazonProvidedDNS). If you
* create a set of options, and if your VPC has an Internet gateway, make
* sure to set the <code>domain-name-servers</code> option either to
* <code>AmazonProvidedDNS</code> or to a domain name server of your
* choice. For more information about DHCP options, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html"> DHCP Options Sets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createDhcpOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateDhcpOptionsRequest> request = null;
Response<CreateDhcpOptionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateDhcpOptionsRequestMarshaller().marshall(createDhcpOptionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateDhcpOptionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a VPN connection between an existing virtual private gateway
* and a VPN customer gateway. The only supported connection type is
* <code>ipsec.1</code> .
* </p>
* <p>
* The response includes information that you need to give to your
* network administrator to configure your customer gateway.
* </p>
* <p>
* <b>IMPORTANT:</b> We strongly recommend that you use HTTPS when
* calling this operation because the response contains sensitive
* cryptographic information for configuring your customer gateway.
* </p>
* <p>
* If you decide to shut down your VPN connection for any reason and
* later create a new VPN connection, you must reconfigure your customer
* gateway with the new information returned from this call.
* </p>
* <p>
* This is an idempotent operation. If you perform the operation more
* than once, Amazon EC2 doesn't return an error.
* </p>
* <p>
* For more information about VPN connections, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createVpnConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpnConnectionRequest> request = null;
Response<CreateVpnConnectionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpnConnectionRequestMarshaller().marshall(createVpnConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVpnConnectionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Disassociates a subnet from a route table.
* </p>
* <p>
* After you perform this action, the subnet no longer uses the routes
* in the route table. Instead, it uses the routes in the VPC's main
* route table. For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param disassociateRouteTableRequest Container for the necessary
* parameters to execute the DisassociateRouteTable 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 disassociateRouteTable(DisassociateRouteTableRequest disassociateRouteTableRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateRouteTableRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DisassociateRouteTableRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DisassociateRouteTableRequestMarshaller().marshall(disassociateRouteTableRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Modifies the Availability Zone, instance count, instance type, or
* network platform (EC2-Classic or EC2-VPC) of your Reserved Instances.
* The Reserved Instances to be modified must be identical, except for
* Availability Zone, network platform, and instance type.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html"> Modifying Reserved Instances </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param modifyReservedInstancesRequest Container for the necessary
* parameters to execute the ModifyReservedInstances service method on
* AmazonEC2.
*
* @return The response from the ModifyReservedInstances service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifyReservedInstancesResult modifyReservedInstances(ModifyReservedInstancesRequest modifyReservedInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(modifyReservedInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyReservedInstancesRequest> request = null;
Response<ModifyReservedInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyReservedInstancesRequestMarshaller().marshall(modifyReservedInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifyReservedInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Imports a disk into an EBS snapshot.
* </p>
*
* @param importSnapshotRequest Container for the necessary parameters to
* execute the ImportSnapshot service method on AmazonEC2.
*
* @return The response from the ImportSnapshot service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportSnapshotResult importSnapshot(ImportSnapshotRequest importSnapshotRequest) {
ExecutionContext executionContext = createExecutionContext(importSnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ImportSnapshotRequest> request = null;
Response<ImportSnapshotResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ImportSnapshotRequestMarshaller().marshall(importSnapshotRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ImportSnapshotResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Shuts down one or more instances. This operation is idempotent; if
* you terminate an instance more than once, each call succeeds.
* </p>
* <p>
* Terminated instances remain visible after termination (for
* approximately one hour).
* </p>
* <p>
* By default, Amazon EC2 deletes all EBS volumes that were attached
* when the instance launched. Volumes attached after instance launch
* continue running.
* </p>
* <p>
* You can stop, start, and terminate EBS-backed instances. You can only
* terminate instance store-backed instances. What happens to an instance
* differs if you stop it or terminate it. For example, when you stop an
* instance, the root device and any other devices attached to the
* instance persist. When you terminate an instance, any attached EBS
* volumes with the <code>DeleteOnTermination</code> block device mapping
* parameter set to <code>true</code> are automatically deleted. For more
* information about the differences between stopping and terminating
* instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html"> Instance Lifecycle </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For more information about troubleshooting, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html"> Troubleshooting Terminating Your Instance </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(terminateInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<TerminateInstancesRequest> request = null;
Response<TerminateInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new TerminateInstancesRequestMarshaller().marshall(terminateInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new TerminateInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Determines whether a product code is associated with an instance.
* This action can only be used by the owner of the product code. It is
* useful when a product code owner needs to verify whether another
* user's instance is eligible for support.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(confirmProductInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ConfirmProductInstanceRequest> request = null;
Response<ConfirmProductInstanceResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ConfirmProductInstanceRequestMarshaller().marshall(confirmProductInstanceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ConfirmProductInstanceResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified snapshot.
* </p>
* <p>
* When you make periodic snapshots of a volume, the snapshots are
* incremental, and only the blocks on the device that have changed since
* your last snapshot are saved in the new snapshot. When you delete a
* snapshot, only the data not needed for any other snapshot is removed.
* So regardless of which prior snapshots have been deleted, all active
* snapshots will have access to all the information needed to restore
* the volume.
* </p>
* <p>
* You cannot delete a snapshot of the root device of an EBS volume used
* by a registered AMI. You must first de-register the AMI before you can
* delete the snapshot.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html"> Deleting an Amazon EBS Snapshot </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteSnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteSnapshotRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteSnapshotRequestMarshaller().marshall(deleteSnapshotRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the modifications made to your Reserved Instances. If no
* parameter is specified, information about all your Reserved Instances
* modification requests is returned. If a modification ID is specified,
* only information about the specific modification is returned.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html"> Modifying Reserved Instances </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param describeReservedInstancesModificationsRequest Container for the
* necessary parameters to execute the
* DescribeReservedInstancesModifications service method on AmazonEC2.
*
* @return The response from the DescribeReservedInstancesModifications
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeReservedInstancesModificationsResult describeReservedInstancesModifications(DescribeReservedInstancesModificationsRequest describeReservedInstancesModificationsRequest) {
ExecutionContext executionContext = createExecutionContext(describeReservedInstancesModificationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeReservedInstancesModificationsRequest> request = null;
Response<DescribeReservedInstancesModificationsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeReservedInstancesModificationsRequestMarshaller().marshall(describeReservedInstancesModificationsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeReservedInstancesModificationsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an import instance task using metadata from the specified
* disk image. <code>ImportInstance</code> only supports single-volume
* VMs. To import multi-volume VMs, use ImportImage. After importing the
* image, you then upload it using the <code>ec2-import-volume</code>
* command in the EC2 command line tools. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html"> Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For information about the import manifest referenced by this API
* action, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html"> VM Import Manifest </a>
* .
* </p>
*
* @param importInstanceRequest Container for the necessary parameters to
* execute the ImportInstance service method on AmazonEC2.
*
* @return The response from the ImportInstance service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportInstanceResult importInstance(ImportInstanceRequest importInstanceRequest) {
ExecutionContext executionContext = createExecutionContext(importInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ImportInstanceRequest> request = null;
Response<ImportInstanceResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ImportInstanceRequestMarshaller().marshall(importInstanceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ImportInstanceResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of the Availability Zones that are available to
* you. The results include zones only for the region you're currently
* using. If there is an event impacting an Availability Zone, you can
* use this request to view the state and any provided message for that
* Availability Zone.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html"> Regions and Availability Zones </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeAvailabilityZonesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeAvailabilityZonesRequest> request = null;
Response<DescribeAvailabilityZonesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeAvailabilityZonesRequestMarshaller().marshall(describeAvailabilityZonesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeAvailabilityZonesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Attaches an EBS volume to a running or stopped instance and exposes
* it to the instance with the specified device name.
* </p>
* <p>
* Encrypted EBS volumes may only be attached to instances that support
* Amazon EBS encryption. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html"> Amazon EBS Encryption </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For a list of supported device names, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html"> Attaching an EBS Volume to an Instance </a> . Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html"> Amazon EC2 Instance Store </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* If a volume has an AWS Marketplace product code:
* </p>
*
* <ul>
* <li> <p>
* The volume can be attached only to a stopped instance.
* </p>
* </li>
* <li> <p>
* AWS Marketplace product codes are copied from the volume to the
* instance.
* </p>
* </li>
* <li> <p>
* You must be subscribed to the product.
* </p>
* </li>
* <li> <p>
* The instance type and operating system of the instance must support
* the product. For example, you can't detach a volume from a Windows
* instance and attach it to a Linux instance.
* </p>
* </li>
*
* </ul>
* <p>
* For an overview of the AWS Marketplace, see
* <a href="https://aws.amazon.com/marketplace/help/200900000"> Introducing AWS Marketplace </a>
* .
* </p>
* <p>
* For more information about EBS volumes, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html"> Attaching Amazon EBS Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(attachVolumeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AttachVolumeRequest> request = null;
Response<AttachVolumeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AttachVolumeRequestMarshaller().marshall(attachVolumeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AttachVolumeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Disables ClassicLink DNS support for a VPC. If disabled, DNS
* hostnames resolve to public IP addresses when addressed between a
* linked EC2-Classic instance and instances in the VPC to which it's
* linked. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param disableVpcClassicLinkDnsSupportRequest Container for the
* necessary parameters to execute the DisableVpcClassicLinkDnsSupport
* service method on AmazonEC2.
*
* @return The response from the DisableVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DisableVpcClassicLinkDnsSupportResult disableVpcClassicLinkDnsSupport(DisableVpcClassicLinkDnsSupportRequest disableVpcClassicLinkDnsSupportRequest) {
ExecutionContext executionContext = createExecutionContext(disableVpcClassicLinkDnsSupportRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DisableVpcClassicLinkDnsSupportRequest> request = null;
Response<DisableVpcClassicLinkDnsSupportResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DisableVpcClassicLinkDnsSupportRequestMarshaller().marshall(disableVpcClassicLinkDnsSupportRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DisableVpcClassicLinkDnsSupportResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Attaches an Internet gateway to a VPC, enabling connectivity between
* the Internet and the VPC. For more information about your VPC and
* Internet gateway, see the
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/"> Amazon Virtual Private Cloud User Guide </a>
* .
* </p>
*
* @param attachInternetGatewayRequest Container for the necessary
* parameters to execute the AttachInternetGateway 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 attachInternetGateway(AttachInternetGatewayRequest attachInternetGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(attachInternetGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AttachInternetGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AttachInternetGatewayRequestMarshaller().marshall(attachInternetGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* [EC2-VPC only] Describes the stale security group rules for security
* groups in a specified VPC. Rules are stale when they reference a
* deleted security group in a peer VPC, or a security group in a peer
* VPC for which the VPC peering connection has been deleted.
* </p>
*
* @param describeStaleSecurityGroupsRequest Container for the necessary
* parameters to execute the DescribeStaleSecurityGroups service method
* on AmazonEC2.
*
* @return The response from the DescribeStaleSecurityGroups service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeStaleSecurityGroupsResult describeStaleSecurityGroups(DescribeStaleSecurityGroupsRequest describeStaleSecurityGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(describeStaleSecurityGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeStaleSecurityGroupsRequest> request = null;
Response<DescribeStaleSecurityGroupsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeStaleSecurityGroupsRequestMarshaller().marshall(describeStaleSecurityGroupsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeStaleSecurityGroupsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Enables a virtual private gateway (VGW) to propagate routes to the
* specified route table of a VPC.
* </p>
*
* @param enableVgwRoutePropagationRequest Container for the necessary
* parameters to execute the EnableVgwRoutePropagation 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 enableVgwRoutePropagation(EnableVgwRoutePropagationRequest enableVgwRoutePropagationRequest) {
ExecutionContext executionContext = createExecutionContext(enableVgwRoutePropagationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<EnableVgwRoutePropagationRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new EnableVgwRoutePropagationRequestMarshaller().marshall(enableVgwRoutePropagationRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Allocates a Dedicated host to your account. At minimum you need to
* specify the instance size type, Availability Zone, and quantity of
* hosts you want to allocate.
* </p>
*
* @param allocateHostsRequest Container for the necessary parameters to
* execute the AllocateHosts service method on AmazonEC2.
*
* @return The response from the AllocateHosts service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AllocateHostsResult allocateHosts(AllocateHostsRequest allocateHostsRequest) {
ExecutionContext executionContext = createExecutionContext(allocateHostsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AllocateHostsRequest> request = null;
Response<AllocateHostsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AllocateHostsRequestMarshaller().marshall(allocateHostsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AllocateHostsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the ClassicLink status of one or more VPCs.
* </p>
*
* @param describeVpcClassicLinkRequest Container for the necessary
* parameters to execute the DescribeVpcClassicLink service method on
* AmazonEC2.
*
* @return The response from the DescribeVpcClassicLink service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcClassicLinkResult describeVpcClassicLink(DescribeVpcClassicLinkRequest describeVpcClassicLinkRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcClassicLinkRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcClassicLinkRequest> request = null;
Response<DescribeVpcClassicLinkResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcClassicLinkRequestMarshaller().marshall(describeVpcClassicLinkRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcClassicLinkResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Attaches a virtual private gateway to a VPC. For more information,
* see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(attachVpnGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AttachVpnGatewayRequest> request = null;
Response<AttachVpnGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AttachVpnGatewayRequestMarshaller().marshall(attachVpnGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AttachVpnGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels an active export task. The request removes all artifacts of
* the export, including any partially-created Amazon S3 objects. If the
* export task is complete or is in the process of transferring the final
* disk image, the command fails and returns an error.
* </p>
*
* @param cancelExportTaskRequest Container for the necessary parameters
* to execute the CancelExportTask 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 cancelExportTask(CancelExportTaskRequest cancelExportTaskRequest) {
ExecutionContext executionContext = createExecutionContext(cancelExportTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelExportTaskRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelExportTaskRequestMarshaller().marshall(cancelExportTaskRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your instances.
* </p>
* <p>
* If you specify one or more instance IDs, Amazon EC2 returns
* information for those instances. If you do not specify instance IDs,
* Amazon EC2 returns information for all relevant instances. If you
* specify an instance ID that is not valid, an error is returned. If you
* specify an instance that you do not own, it is not included in the
* returned results.
* </p>
* <p>
* Recently terminated instances might appear in the returned results.
* This interval is usually less than one hour.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeInstancesRequest> request = null;
Response<DescribeInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeInstancesRequestMarshaller().marshall(describeInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Launches the specified Scheduled Instances.
* </p>
* <p>
* Before you can launch a Scheduled Instance, you must purchase it and
* obtain an identifier using PurchaseScheduledInstances.
* </p>
* <p>
* You must launch a Scheduled Instance during its scheduled time
* period. You can't stop or reboot a Scheduled Instance, but you can
* terminate it as needed. If you terminate a Scheduled Instance before
* the current scheduled time period ends, you can launch it again after
* a few minutes. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html"> Scheduled Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param runScheduledInstancesRequest Container for the necessary
* parameters to execute the RunScheduledInstances service method on
* AmazonEC2.
*
* @return The response from the RunScheduledInstances service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public RunScheduledInstancesResult runScheduledInstances(RunScheduledInstancesRequest runScheduledInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(runScheduledInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RunScheduledInstancesRequest> request = null;
Response<RunScheduledInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RunScheduledInstancesRequestMarshaller().marshall(runScheduledInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RunScheduledInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Import single or multi-volume disk images or EBS snapshots into an
* Amazon Machine Image (AMI).
* </p>
*
* @param importImageRequest Container for the necessary parameters to
* execute the ImportImage service method on AmazonEC2.
*
* @return The response from the ImportImage service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportImageResult importImage(ImportImageRequest importImageRequest) {
ExecutionContext executionContext = createExecutionContext(importImageRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ImportImageRequest> request = null;
Response<ImportImageResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ImportImageRequestMarshaller().marshall(importImageRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ImportImageResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance
* that is either running or stopped.
* </p>
* <p>
* If you customized your instance with instance store volumes or EBS
* volumes in addition to the root device volume, the new AMI contains
* block device mapping information for those volumes. When you launch an
* instance from this new AMI, the instance automatically launches with
* those additional volumes.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html"> Creating Amazon EBS-Backed Linux AMIs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createImageRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateImageRequest> request = null;
Response<CreateImageResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateImageRequestMarshaller().marshall(createImageRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateImageResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified EBS volume. The volume must be in the
* <code>available</code> state (not attached to an instance).
* </p>
* <p>
* <b>NOTE:</b> The volume may remain in the deleting state for several
* minutes.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html"> Deleting an Amazon EBS Volume </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteVolumeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVolumeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVolumeRequestMarshaller().marshall(deleteVolumeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes your Elastic IP addresses that are being moved to the
* EC2-VPC platform, or that are being restored to the EC2-Classic
* platform. This request does not return information about any other
* Elastic IP addresses in your account.
* </p>
*
* @param describeMovingAddressesRequest Container for the necessary
* parameters to execute the DescribeMovingAddresses service method on
* AmazonEC2.
*
* @return The response from the DescribeMovingAddresses service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeMovingAddressesResult describeMovingAddresses(DescribeMovingAddressesRequest describeMovingAddressesRequest) {
ExecutionContext executionContext = createExecutionContext(describeMovingAddressesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeMovingAddressesRequest> request = null;
Response<DescribeMovingAddressesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeMovingAddressesRequestMarshaller().marshall(describeMovingAddressesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeMovingAddressesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your VPC endpoints.
* </p>
*
* @param describeVpcEndpointsRequest Container for the necessary
* parameters to execute the DescribeVpcEndpoints service method on
* AmazonEC2.
*
* @return The response from the DescribeVpcEndpoints service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcEndpointsResult describeVpcEndpoints(DescribeVpcEndpointsRequest describeVpcEndpointsRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcEndpointsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcEndpointsRequest> request = null;
Response<DescribeVpcEndpointsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcEndpointsRequestMarshaller().marshall(describeVpcEndpointsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcEndpointsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified subnet. You must terminate all running
* instances in the subnet before you can delete the subnet.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteSubnetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteSubnetRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteSubnetRequestMarshaller().marshall(deleteSubnetRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your linked EC2-Classic instances. This
* request only returns information about EC2-Classic instances linked to
* a VPC through ClassicLink; you cannot use this request to return
* information about other instances.
* </p>
*
* @param describeClassicLinkInstancesRequest Container for the necessary
* parameters to execute the DescribeClassicLinkInstances service method
* on AmazonEC2.
*
* @return The response from the DescribeClassicLinkInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeClassicLinkInstancesResult describeClassicLinkInstances(DescribeClassicLinkInstancesRequest describeClassicLinkInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(describeClassicLinkInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeClassicLinkInstancesRequest> request = null;
Response<DescribeClassicLinkInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeClassicLinkInstancesRequestMarshaller().marshall(describeClassicLinkInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeClassicLinkInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes Reserved Instance offerings that are available for
* purchase. With Reserved Instances, you purchase the right to launch
* instances for a period of time. During that time period, you do not
* receive insufficient capacity errors, and you pay a lower usage rate
* than the rate charged for On-Demand instances for the actual time
* used.
* </p>
* <p>
* If you have listed your own Reserved Instances for sale in the
* Reserved Instance Marketplace, they will be excluded from these
* results. This is to ensure that you do not purchase your own Reserved
* Instances.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeReservedInstancesOfferingsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeReservedInstancesOfferingsRequest> request = null;
Response<DescribeReservedInstancesOfferingsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeReservedInstancesOfferingsRequestMarshaller().marshall(describeReservedInstancesOfferingsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeReservedInstancesOfferingsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes a VPC peering connection. Either the owner of the requester
* VPC or the owner of the peer VPC can delete the VPC peering connection
* if it's in the <code>active</code> state. The owner of the requester
* VPC can delete a VPC peering connection in the
* <code>pending-acceptance</code> state.
* </p>
*
* @param deleteVpcPeeringConnectionRequest Container for the necessary
* parameters to execute the DeleteVpcPeeringConnection service method on
* AmazonEC2.
*
* @return The response from the DeleteVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DeleteVpcPeeringConnectionResult deleteVpcPeeringConnection(DeleteVpcPeeringConnectionRequest deleteVpcPeeringConnectionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteVpcPeeringConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpcPeeringConnectionRequest> request = null;
Response<DeleteVpcPeeringConnectionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpcPeeringConnectionRequestMarshaller().marshall(deleteVpcPeeringConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DeleteVpcPeeringConnectionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Launches the specified number of instances using an AMI for which you
* have permissions.
* </p>
* <p>
* When you launch an instance, it enters the <code>pending</code>
* state. After the instance is ready for you, it enters the
* <code>running</code> state. To check the state of your instance, call
* DescribeInstances.
* </p>
* <p>
* To ensure faster instance launches, break up large requests into
* smaller batches. For example, create five separate launch requests for
* 100 instances each instead of one launch request for 500 instances.
* </p>
* <p>
* To tag your instance, ensure that it is <code>running</code> as
* CreateTags requires a resource ID. For more information about tagging,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging Your Amazon EC2 Resources </a>
* .
* </p>
* <p>
* If you don't specify a security group when launching an instance,
* Amazon EC2 uses the default security group. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html"> Security Groups </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* [EC2-VPC only accounts] If you don't specify a subnet in the request,
* we choose a default subnet from your default VPC for you.
* </p>
* <p>
* [EC2-Classic accounts] If you're launching into EC2-Classic and you
* don't specify an Availability Zone, we choose one for you.
* </p>
* <p>
* Linux instances have access to the public key of the key pair at
* boot. You can use this key to provide secure access to the instance.
* Amazon EC2 public images use this feature to provide secure access
* without passwords. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html"> Key Pairs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* You can provide optional user data when launching an instance. For
* more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html"> Instance Metadata </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* If any of the AMIs have a product code attached for which the user
* has not subscribed, <code>RunInstances</code> fails.
* </p>
* <p>
* Some instance types can only be launched into a VPC. If you do not
* have a default VPC, or if you do not specify a subnet ID in the
* request, <code>RunInstances</code> fails. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types"> Instance Types Available Only in a VPC </a>
* .
* </p>
* <p>
* For more information about troubleshooting, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html"> What To Do If An Instance Immediately Terminates </a> , and <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html"> Troubleshooting Connecting to Your Instance </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(runInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RunInstancesRequest> request = null;
Response<RunInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RunInstancesRequestMarshaller().marshall(runInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RunInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Enables I/O operations for a volume that had I/O operations disabled
* because the data on the volume was potentially inconsistent.
* </p>
*
* @param enableVolumeIORequest Container for the necessary parameters to
* execute the EnableVolumeIO 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 enableVolumeIO(EnableVolumeIORequest enableVolumeIORequest) {
ExecutionContext executionContext = createExecutionContext(enableVolumeIORequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<EnableVolumeIORequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new EnableVolumeIORequestMarshaller().marshall(enableVolumeIORequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the events for the specified Spot fleet request during the
* specified time.
* </p>
* <p>
* Spot fleet events are delayed by up to 30 seconds before they can be
* described. This ensures that you can query by the last evaluated time
* and not miss a recorded event.
* </p>
*
* @param describeSpotFleetRequestHistoryRequest Container for the
* necessary parameters to execute the DescribeSpotFleetRequestHistory
* service method on AmazonEC2.
*
* @return The response from the DescribeSpotFleetRequestHistory service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeSpotFleetRequestHistoryResult describeSpotFleetRequestHistory(DescribeSpotFleetRequestHistoryRequest describeSpotFleetRequestHistoryRequest) {
ExecutionContext executionContext = createExecutionContext(describeSpotFleetRequestHistoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotFleetRequestHistoryRequest> request = null;
Response<DescribeSpotFleetRequestHistoryResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotFleetRequestHistoryRequestMarshaller().marshall(describeSpotFleetRequestHistoryRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotFleetRequestHistoryResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a data feed for Spot instances, enabling you to view Spot
* instance usage logs. You can create one data feed per AWS account. For
* more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html"> Spot Instance Data Feed </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createSpotDatafeedSubscriptionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateSpotDatafeedSubscriptionRequest> request = null;
Response<CreateSpotDatafeedSubscriptionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateSpotDatafeedSubscriptionRequestMarshaller().marshall(createSpotDatafeedSubscriptionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateSpotDatafeedSubscriptionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Restores an Elastic IP address that was previously moved to the
* EC2-VPC platform back to the EC2-Classic platform. You cannot move an
* Elastic IP address that was originally allocated for use in EC2-VPC.
* The Elastic IP address must not be associated with an instance or
* network interface.
* </p>
*
* @param restoreAddressToClassicRequest Container for the necessary
* parameters to execute the RestoreAddressToClassic service method on
* AmazonEC2.
*
* @return The response from the RestoreAddressToClassic service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public RestoreAddressToClassicResult restoreAddressToClassic(RestoreAddressToClassicRequest restoreAddressToClassicRequest) {
ExecutionContext executionContext = createExecutionContext(restoreAddressToClassicRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RestoreAddressToClassicRequest> request = null;
Response<RestoreAddressToClassicResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RestoreAddressToClassicRequestMarshaller().marshall(restoreAddressToClassicRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RestoreAddressToClassicResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of the images (AMIs, AKIs, and ARIs) available
* to you. Images available to you include public images, private images
* that you own, and private images owned by other AWS accounts but for
* which you have explicit launch permissions.
* </p>
* <p>
* <b>NOTE:</b> Deregistered images are included in the returned results
* for an unspecified interval after deregistration.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeImagesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeImagesRequest> request = null;
Response<DescribeImagesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeImagesRequestMarshaller().marshall(describeImagesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeImagesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your VPCs.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeVpcsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcsRequest> request = null;
Response<DescribeVpcsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcsRequestMarshaller().marshall(describeVpcsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* [EC2-VPC only] Adds one or more egress rules to a security group for
* use with a VPC. Specifically, this action permits instances to send
* traffic to one or more destination CIDR IP address ranges, or to one
* or more destination security groups for the same VPC. This action
* doesn't apply to security groups for use in EC2-Classic. For more
* information, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html"> Security Groups for Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* <b>IMPORTANT:</b> You can have up to 50 rules per security group
* (covering both ingress and egress rules).
* </p>
* <p>
* Each rule consists of the protocol (for example, TCP), plus either a
* CIDR range or a source group. For the TCP and UDP protocols, you must
* also specify the destination port or port range. For the ICMP
* protocol, you must also specify the ICMP type and code. You can use -1
* for the type or code to mean all types or all codes.
* </p>
* <p>
* Rule changes are propagated to affected instances as quickly as
* possible. However, a small delay might occur.
* </p>
*
* @param authorizeSecurityGroupEgressRequest Container for the necessary
* parameters to execute the AuthorizeSecurityGroupEgress 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 authorizeSecurityGroupEgress(AuthorizeSecurityGroupEgressRequest authorizeSecurityGroupEgressRequest) {
ExecutionContext executionContext = createExecutionContext(authorizeSecurityGroupEgressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AuthorizeSecurityGroupEgressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AuthorizeSecurityGroupEgressRequestMarshaller().marshall(authorizeSecurityGroupEgressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Copies a point-in-time snapshot of an EBS volume and stores it in
* Amazon S3. You can copy the snapshot within the same region or from
* one region to another. You can use the snapshot to create EBS volumes
* or Amazon Machine Images (AMIs). The snapshot is copied to the
* regional endpoint that you send the HTTP request to.
* </p>
* <p>
* Copies of encrypted EBS snapshots remain encrypted. Copies of
* unencrypted snapshots remain unencrypted, unless the
* <code>Encrypted</code> flag is specified during the snapshot copy
* operation. By default, encrypted snapshot copies use the default AWS
* Key Management Service (AWS KMS) customer master key (CMK); however,
* you can specify a non-default CMK with the <code>KmsKeyId</code>
* parameter.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html"> Copying an Amazon EBS Snapshot </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param copySnapshotRequest Container for the necessary parameters to
* execute the CopySnapshot service method on AmazonEC2.
*
* @return The response from the CopySnapshot service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CopySnapshotResult copySnapshot(CopySnapshotRequest copySnapshotRequest) {
ExecutionContext executionContext = createExecutionContext(copySnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CopySnapshotRequest> request = null;
Response<CopySnapshotResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CopySnapshotRequestMarshaller().marshall(copySnapshotRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CopySnapshotResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Detaches a virtual private gateway from a VPC. You do this if you're
* planning to turn off the VPC and not use it anymore. You can confirm a
* virtual private gateway has been completely detached from a VPC by
* describing the virtual private gateway (any attachments to the virtual
* private gateway are also described).
* </p>
* <p>
* You must wait for the attachment's state to switch to
* <code>detached</code> before you can delete the VPC or attach a
* different VPC to the virtual private gateway.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(detachVpnGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DetachVpnGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DetachVpnGatewayRequestMarshaller().marshall(detachVpnGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the specified attribute of the specified instance. You can
* specify only one attribute at a time. Valid attribute values are:
* <code>instanceType</code> | <code>kernel</code> | <code>ramdisk</code>
* | <code>userData</code> | <code>disableApiTermination</code> |
* <code>instanceInitiatedShutdownBehavior</code> |
* <code>rootDeviceName</code> | <code>blockDeviceMapping</code> |
* <code>productCodes</code> | <code>sourceDestCheck</code> |
* <code>groupSet</code> | <code>ebsOptimized</code> |
* <code>sriovNetSupport</code>
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeInstanceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeInstanceAttributeRequest> request = null;
Response<DescribeInstanceAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeInstanceAttributeRequestMarshaller().marshall(describeInstanceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeInstanceAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the running instances for the specified Spot fleet.
* </p>
*
* @param describeSpotFleetInstancesRequest Container for the necessary
* parameters to execute the DescribeSpotFleetInstances service method on
* AmazonEC2.
*
* @return The response from the DescribeSpotFleetInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeSpotFleetInstancesResult describeSpotFleetInstances(DescribeSpotFleetInstancesRequest describeSpotFleetInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(describeSpotFleetInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotFleetInstancesRequest> request = null;
Response<DescribeSpotFleetInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotFleetInstancesRequestMarshaller().marshall(describeSpotFleetInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotFleetInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a network ACL in a VPC. Network ACLs provide an optional
* layer of security (in addition to security groups) for the instances
* in your VPC.
* </p>
* <p>
* For more information about network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createNetworkAclRequest Container for the necessary parameters
* to execute the CreateNetworkAcl service method on AmazonEC2.
*
* @return The response from the CreateNetworkAcl service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateNetworkAclResult createNetworkAcl(CreateNetworkAclRequest createNetworkAclRequest) {
ExecutionContext executionContext = createExecutionContext(createNetworkAclRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateNetworkAclRequest> request = null;
Response<CreateNetworkAclResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateNetworkAclRequestMarshaller().marshall(createNetworkAclRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateNetworkAclResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the Spot price history. The prices returned are listed in
* chronological order, from the oldest to the most recent, for up to the
* past 90 days. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html"> Spot Instance Pricing History </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* When you specify a start and end time, this operation returns the
* prices of the instance types within the time range that you specified
* and the time when the price changed. The price is valid within the
* time period that you specified; the response merely indicates the last
* time that the price changed.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSpotPriceHistoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotPriceHistoryRequest> request = null;
Response<DescribeSpotPriceHistoryResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotPriceHistoryRequestMarshaller().marshall(describeSpotPriceHistoryRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotPriceHistoryResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Displays details about an import virtual machine or import snapshot
* tasks that are already created.
* </p>
*
* @param describeImportImageTasksRequest Container for the necessary
* parameters to execute the DescribeImportImageTasks service method on
* AmazonEC2.
*
* @return The response from the DescribeImportImageTasks service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeImportImageTasksResult describeImportImageTasks(DescribeImportImageTasksRequest describeImportImageTasksRequest) {
ExecutionContext executionContext = createExecutionContext(describeImportImageTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeImportImageTasksRequest> request = null;
Response<DescribeImportImageTasksResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeImportImageTasksRequestMarshaller().marshall(describeImportImageTasksRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeImportImageTasksResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your Internet gateways.
* </p>
*
* @param describeInternetGatewaysRequest Container for the necessary
* parameters to execute the DescribeInternetGateways service method on
* AmazonEC2.
*
* @return The response from the DescribeInternetGateways service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeInternetGatewaysResult describeInternetGateways(DescribeInternetGatewaysRequest describeInternetGatewaysRequest) {
ExecutionContext executionContext = createExecutionContext(describeInternetGatewaysRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeInternetGatewaysRequest> request = null;
Response<DescribeInternetGatewaysResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeInternetGatewaysRequestMarshaller().marshall(describeInternetGatewaysRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeInternetGatewaysResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your Dedicated hosts.
* </p>
* <p>
* The results describe only the Dedicated hosts in the region you're
* currently using. All listed instances consume capacity on your
* Dedicated host. Dedicated hosts that have recently been released will
* be listed with the state <code>released</code> .
* </p>
*
* @param describeHostsRequest Container for the necessary parameters to
* execute the DescribeHosts service method on AmazonEC2.
*
* @return The response from the DescribeHosts service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeHostsResult describeHosts(DescribeHostsRequest describeHostsRequest) {
ExecutionContext executionContext = createExecutionContext(describeHostsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeHostsRequest> request = null;
Response<DescribeHostsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeHostsRequestMarshaller().marshall(describeHostsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeHostsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your subnets.
* </p>
* <p>
* For more information about subnets, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html"> Your VPC and Subnets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSubnetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSubnetsRequest> request = null;
Response<DescribeSubnetsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSubnetsRequestMarshaller().marshall(describeSubnetsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSubnetsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Retrieves the encrypted administrator password for an instance
* running Windows.
* </p>
* <p>
* The Windows password is generated at boot if the
* <code>EC2Config</code> service plugin, <code>Ec2SetPassword</code> ,
* is enabled. This usually only happens the first time an AMI is
* launched, and then <code>Ec2SetPassword</code> is automatically
* disabled. The password is not generated for rebundled AMIs unless
* <code>Ec2SetPassword</code> is enabled before bundling.
* </p>
* <p>
* The password is encrypted using the key pair that you specified when
* you launched the instance. You must provide the corresponding key pair
* file.
* </p>
* <p>
* Password generation and encryption takes a few moments. We recommend
* that you wait up to 15 minutes after launching an instance before
* trying to retrieve the generated password.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(getPasswordDataRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<GetPasswordDataRequest> request = null;
Response<GetPasswordDataResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new GetPasswordDataRequestMarshaller().marshall(getPasswordDataRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new GetPasswordDataResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels an active conversion task. The task can be the import of an
* instance or volume. The action removes all artifacts of the
* conversion, including a partially uploaded volume or instance. If the
* conversion is complete or is in the process of transferring the final
* disk image, the command fails and returns an exception.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html"> Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param cancelConversionTaskRequest Container for the necessary
* parameters to execute the CancelConversionTask 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 cancelConversionTask(CancelConversionTaskRequest cancelConversionTaskRequest) {
ExecutionContext executionContext = createExecutionContext(cancelConversionTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelConversionTaskRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelConversionTaskRequestMarshaller().marshall(cancelConversionTaskRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deletes the specified customer gateway. You must delete the VPN
* connection before you can delete the customer gateway.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteCustomerGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteCustomerGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteCustomerGatewayRequestMarshaller().marshall(deleteCustomerGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Adds one or more ingress rules to a security group.
* </p>
* <p>
* <b>IMPORTANT:</b> EC2-Classic: You can have up to 100 rules per
* group. EC2-VPC: You can have up to 50 rules per group (covering both
* ingress and egress rules).
* </p>
* <p>
* Rule changes are propagated to instances within the security group as
* quickly as possible. However, a small delay might occur.
* </p>
* <p>
* [EC2-Classic] This action gives one or more CIDR IP address ranges
* permission to access a security group in your account, or gives one or
* more security groups (called the <i>source groups</i> ) permission to
* access a security group for your account. A source group can be for
* your own AWS account, or another.
* </p>
* <p>
* [EC2-VPC] This action gives one or more CIDR IP address ranges
* permission to access a security group in your VPC, or gives one or
* more other security groups (called the <i>source groups</i> )
* permission to access a security group for your VPC. The security
* groups must all be for the same VPC.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(authorizeSecurityGroupIngressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AuthorizeSecurityGroupIngressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AuthorizeSecurityGroupIngressRequestMarshaller().marshall(authorizeSecurityGroupIngressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Replaces an existing route within a route table in a VPC. You must
* provide only one of the following: Internet gateway or virtual private
* gateway, NAT instance, NAT gateway, VPC peering connection, or network
* interface.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param replaceRouteRequest Container for the necessary parameters to
* execute the ReplaceRoute 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 replaceRoute(ReplaceRouteRequest replaceRouteRequest) {
ExecutionContext executionContext = createExecutionContext(replaceRouteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReplaceRouteRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReplaceRouteRequestMarshaller().marshall(replaceRouteRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Purchases one or more Scheduled Instances with the specified
* schedule.
* </p>
* <p>
* Scheduled Instances enable you to purchase Amazon EC2 compute
* capacity by the hour for a one-year term. Before you can purchase a
* Scheduled Instance, you must call
* DescribeScheduledInstanceAvailability to check for available schedules
* and obtain a purchase token. After you purchase a Scheduled Instance,
* you must call RunScheduledInstances during each scheduled time period.
* </p>
* <p>
* After you purchase a Scheduled Instance, you can't cancel, modify, or
* resell your purchase.
* </p>
*
* @param purchaseScheduledInstancesRequest Container for the necessary
* parameters to execute the PurchaseScheduledInstances service method on
* AmazonEC2.
*
* @return The response from the PurchaseScheduledInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public PurchaseScheduledInstancesResult purchaseScheduledInstances(PurchaseScheduledInstancesRequest purchaseScheduledInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(purchaseScheduledInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<PurchaseScheduledInstancesRequest> request = null;
Response<PurchaseScheduledInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new PurchaseScheduledInstancesRequestMarshaller().marshall(purchaseScheduledInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new PurchaseScheduledInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your route tables.
* </p>
* <p>
* Each subnet in your VPC must be associated with a route table. If a
* subnet is not explicitly associated with any route table, it is
* implicitly associated with the main route table. This command does not
* return the subnet ID for implicit associations.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param describeRouteTablesRequest Container for the necessary
* parameters to execute the DescribeRouteTables service method on
* AmazonEC2.
*
* @return The response from the DescribeRouteTables service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeRouteTablesResult describeRouteTables(DescribeRouteTablesRequest describeRouteTablesRequest) {
ExecutionContext executionContext = createExecutionContext(describeRouteTablesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeRouteTablesRequest> request = null;
Response<DescribeRouteTablesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeRouteTablesRequestMarshaller().marshall(describeRouteTablesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeRouteTablesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies a volume attribute.
* </p>
* <p>
* By default, all I/O operations for the volume are suspended when the
* data on the volume is determined to be potentially inconsistent, to
* prevent undetectable, latent data corruption. The I/O access to the
* volume can be resumed by first enabling I/O access and then checking
* the data consistency on your volume.
* </p>
* <p>
* You can change the default behavior to resume I/O operations. We
* recommend that you change this only for boot volumes or for volumes
* that are stateless or disposable.
* </p>
*
* @param modifyVolumeAttributeRequest Container for the necessary
* parameters to execute the ModifyVolumeAttribute 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 modifyVolumeAttribute(ModifyVolumeAttributeRequest modifyVolumeAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(modifyVolumeAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyVolumeAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyVolumeAttributeRequestMarshaller().marshall(modifyVolumeAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a network interface in the specified subnet.
* </p>
* <p>
* For more information about network interfaces, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html"> Elastic Network Interfaces </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param createNetworkInterfaceRequest Container for the necessary
* parameters to execute the CreateNetworkInterface service method on
* AmazonEC2.
*
* @return The response from the CreateNetworkInterface service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateNetworkInterfaceResult createNetworkInterface(CreateNetworkInterfaceRequest createNetworkInterfaceRequest) {
ExecutionContext executionContext = createExecutionContext(createNetworkInterfaceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateNetworkInterfaceRequest> request = null;
Response<CreateNetworkInterfaceResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateNetworkInterfaceRequestMarshaller().marshall(createNetworkInterfaceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateNetworkInterfaceResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Associates an Elastic IP address with an instance or a network
* interface.
* </p>
* <p>
* An Elastic IP address is for use in either the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP
* address is already associated with a different instance, it is
* disassociated from that instance and associated with the specified
* instance.
* </p>
* <p>
* [VPC in an EC2-Classic account] If you don't specify a private IP
* address, the Elastic IP address is associated with the primary IP
* address. If the Elastic IP address is already associated with a
* different instance or a network interface, you get an error unless you
* allow reassociation.
* </p>
* <p>
* This is an idempotent operation. If you perform the operation more
* than once, Amazon EC2 doesn't return an error.
* </p>
*
* @param associateAddressRequest Container for the necessary parameters
* to execute the AssociateAddress service method on AmazonEC2.
*
* @return The response from the AssociateAddress service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AssociateAddressResult associateAddress(AssociateAddressRequest associateAddressRequest) {
ExecutionContext executionContext = createExecutionContext(associateAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AssociateAddressRequest> request = null;
Response<AssociateAddressResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AssociateAddressRequestMarshaller().marshall(associateAddressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AssociateAddressResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the status of one or more instances. By default, only
* running instances are described, unless specified otherwise.
* </p>
* <p>
* Instance status includes the following components:
* </p>
*
* <ul>
* <li> <p>
* <b>Status checks</b> - Amazon EC2 performs status checks on running
* EC2 instances to identify hardware and software issues. For more
* information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html"> Status Checks for Your Instances </a> and <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html"> Troubleshooting Instances with Failed Status Checks </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
* <li> <p>
* <b>Scheduled events</b> - Amazon EC2 can schedule events (such as
* reboot, stop, or terminate) for your instances related to hardware
* issues, software updates, or system maintenance. For more information,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html"> Scheduled Events for Your Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
* <li> <p>
* <b>Instance state</b> - You can manage your instances from the moment
* you launch them through their termination. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html"> Instance Lifecycle </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
*
* </ul>
*
* @param describeInstanceStatusRequest Container for the necessary
* parameters to execute the DescribeInstanceStatus service method on
* AmazonEC2.
*
* @return The response from the DescribeInstanceStatus service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeInstanceStatusResult describeInstanceStatus(DescribeInstanceStatusRequest describeInstanceStatusRequest) {
ExecutionContext executionContext = createExecutionContext(describeInstanceStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeInstanceStatusRequest> request = null;
Response<DescribeInstanceStatusResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeInstanceStatusRequestMarshaller().marshall(describeInstanceStatusRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeInstanceStatusResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a VPC endpoint for a specified AWS service. An endpoint
* enables you to create a private connection between your VPC and
* another AWS service in your account. You can specify an endpoint
* policy to attach to the endpoint that will control access to the
* service from your VPC. You can also specify the VPC route tables that
* use the endpoint.
* </p>
* <p>
* Currently, only endpoints to Amazon S3 are supported.
* </p>
*
* @param createVpcEndpointRequest Container for the necessary parameters
* to execute the CreateVpcEndpoint service method on AmazonEC2.
*
* @return The response from the CreateVpcEndpoint service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateVpcEndpointResult createVpcEndpoint(CreateVpcEndpointRequest createVpcEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(createVpcEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpcEndpointRequest> request = null;
Response<CreateVpcEndpointResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpcEndpointRequestMarshaller().marshall(createVpcEndpointRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVpcEndpointResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your export tasks.
* </p>
*
* @param describeExportTasksRequest Container for the necessary
* parameters to execute the DescribeExportTasks service method on
* AmazonEC2.
*
* @return The response from the DescribeExportTasks service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeExportTasksResult describeExportTasks(DescribeExportTasksRequest describeExportTasksRequest) {
ExecutionContext executionContext = createExecutionContext(describeExportTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeExportTasksRequest> request = null;
Response<DescribeExportTasksResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeExportTasksRequestMarshaller().marshall(describeExportTasksRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeExportTasksResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Starts an Amazon EBS-backed AMI that you've previously stopped.
* </p>
* <p>
* Instances that use Amazon EBS volumes as their root devices can be
* quickly stopped and started. When an instance is stopped, the compute
* resources are released and you are not billed for hourly instance
* usage. However, your root partition Amazon EBS volume remains,
* continues to persist your data, and you are charged for Amazon EBS
* volume usage. You can restart your instance at any time. Each time you
* transition an instance from stopped to started, Amazon EC2 charges a
* full instance hour, even if transitions happen multiple times within a
* single hour.
* </p>
* <p>
* 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.
* </p>
* <p>
* Performing this operation on an instance that uses an instance store
* as its root device returns an error.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html"> Stopping Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(startInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<StartInstancesRequest> request = null;
Response<StartInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new StartInstancesRequestMarshaller().marshall(startInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new StartInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of the tags for your EC2 resources.
* </p>
* <p>
* For more information about tags, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging Your Resources </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeTagsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeTagsRequest> request = null;
Response<DescribeTagsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeTagsRequestMarshaller().marshall(describeTagsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeTagsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Changes which network ACL a subnet is associated with. By default
* when you create a subnet, it's automatically associated with the
* default network ACL. For more information about network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param replaceNetworkAclAssociationRequest Container for the necessary
* parameters to execute the ReplaceNetworkAclAssociation service method
* on AmazonEC2.
*
* @return The response from the ReplaceNetworkAclAssociation service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ReplaceNetworkAclAssociationResult replaceNetworkAclAssociation(ReplaceNetworkAclAssociationRequest replaceNetworkAclAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(replaceNetworkAclAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReplaceNetworkAclAssociationRequest> request = null;
Response<ReplaceNetworkAclAssociationResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReplaceNetworkAclAssociationRequestMarshaller().marshall(replaceNetworkAclAssociationRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ReplaceNetworkAclAssociationResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a snapshot of an EBS volume and stores it in Amazon S3. You
* can use snapshots for backups, to make copies of EBS volumes, and to
* save data before shutting down an instance.
* </p>
* <p>
* When a snapshot is created, any AWS Marketplace product codes that
* are associated with the source volume are propagated to the snapshot.
* </p>
* <p>
* You can take a snapshot of an attached volume that is in use.
* However, snapshots only capture data that has been written to your EBS
* volume at the time the snapshot command is issued; this may exclude
* any data that has been cached by any applications or the operating
* system. If you can pause any file systems on the volume long enough to
* take a snapshot, your snapshot should be complete. However, if you
* cannot pause all file writes to the volume, you should unmount the
* volume from within the instance, issue the snapshot command, and then
* remount the volume to ensure a consistent and complete snapshot. You
* may remount and use your volume while the snapshot status is
* <code>pending</code> .
* </p>
* <p>
* To create a snapshot for EBS volumes that serve as root devices, you
* should stop the instance before taking the snapshot.
* </p>
* <p>
* Snapshots that are taken from encrypted volumes are automatically
* encrypted. Volumes that are created from encrypted snapshots are also
* automatically encrypted. Your encrypted volumes and any associated
* snapshots always remain protected.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html"> Amazon Elastic Block Store </a> and <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html"> Amazon EBS Encryption </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createSnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateSnapshotRequest> request = null;
Response<CreateSnapshotResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateSnapshotRequestMarshaller().marshall(createSnapshotRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateSnapshotResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Attaches a network interface to an instance.
* </p>
*
* @param attachNetworkInterfaceRequest Container for the necessary
* parameters to execute the AttachNetworkInterface service method on
* AmazonEC2.
*
* @return The response from the AttachNetworkInterface service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AttachNetworkInterfaceResult attachNetworkInterface(AttachNetworkInterfaceRequest attachNetworkInterfaceRequest) {
ExecutionContext executionContext = createExecutionContext(attachNetworkInterfaceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AttachNetworkInterfaceRequest> request = null;
Response<AttachNetworkInterfaceResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AttachNetworkInterfaceRequestMarshaller().marshall(attachNetworkInterfaceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AttachNetworkInterfaceResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes your account's Reserved Instance listings in the Reserved
* Instance Marketplace.
* </p>
* <p>
* The Reserved Instance Marketplace matches sellers who want to resell
* Reserved Instance capacity that they no longer need with buyers who
* want to purchase additional capacity. Reserved Instances bought and
* sold through the Reserved Instance Marketplace work like any other
* Reserved Instances.
* </p>
* <p>
* As a seller, you choose to list some or all of your Reserved
* Instances, and you specify the upfront price to receive for them. Your
* Reserved Instances are then listed in the Reserved Instance
* Marketplace and are available for purchase.
* </p>
* <p>
* As a buyer, you specify the configuration of the Reserved Instance to
* purchase, and the Marketplace matches what you're searching for with
* what's available. The Marketplace first sells the lowest priced
* Reserved Instances to you, and continues to sell available Reserved
* Instance listings to you until your demand is met. You are charged
* based on the total price of all of the listings that you purchase.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param describeReservedInstancesListingsRequest Container for the
* necessary parameters to execute the DescribeReservedInstancesListings
* service method on AmazonEC2.
*
* @return The response from the DescribeReservedInstancesListings
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeReservedInstancesListingsResult describeReservedInstancesListings(DescribeReservedInstancesListingsRequest describeReservedInstancesListingsRequest) {
ExecutionContext executionContext = createExecutionContext(describeReservedInstancesListingsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeReservedInstancesListingsRequest> request = null;
Response<DescribeReservedInstancesListingsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeReservedInstancesListingsRequestMarshaller().marshall(describeReservedInstancesListingsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeReservedInstancesListingsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified set of tags from the specified set of
* resources. This call is designed to follow a <code>DescribeTags</code>
* request.
* </p>
* <p>
* For more information about tags, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging Your Resources </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteTagsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteTagsRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteTagsRequestMarshaller().marshall(deleteTagsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes a network interface attribute. You can specify only one
* attribute at a time.
* </p>
*
* @param describeNetworkInterfaceAttributeRequest Container for the
* necessary parameters to execute the DescribeNetworkInterfaceAttribute
* service method on AmazonEC2.
*
* @return The response from the DescribeNetworkInterfaceAttribute
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNetworkInterfaceAttributeResult describeNetworkInterfaceAttribute(DescribeNetworkInterfaceAttributeRequest describeNetworkInterfaceAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(describeNetworkInterfaceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeNetworkInterfaceAttributeRequest> request = null;
Response<DescribeNetworkInterfaceAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeNetworkInterfaceAttributeRequestMarshaller().marshall(describeNetworkInterfaceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeNetworkInterfaceAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Resets an attribute of an AMI to its default value.
* </p>
* <p>
* <b>NOTE:</b> The productCodes attribute can't be reset.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(resetImageAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ResetImageAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ResetImageAttributeRequestMarshaller().marshall(resetImageAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the specified attribute of the specified AMI. You can
* specify only one attribute at a time.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeImageAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeImageAttributeRequest> request = null;
Response<DescribeImageAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeImageAttributeRequestMarshaller().marshall(describeImageAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeImageAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your placement groups. For more information
* about placement groups and cluster instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html"> Cluster Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describePlacementGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribePlacementGroupsRequest> request = null;
Response<DescribePlacementGroupsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribePlacementGroupsRequestMarshaller().marshall(describePlacementGroupsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribePlacementGroupsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Adds or removes permission settings for the specified snapshot. You
* may add or remove specified AWS account IDs from a snapshot's list of
* create volume permissions, but you cannot do both in a single API
* call. If you need to both add and remove account IDs for a snapshot,
* you must use multiple API calls.
* </p>
* <p>
* For more information on modifying snapshot permissions, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html"> Sharing Snapshots </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* <b>NOTE:</b> Snapshots with AWS Marketplace product codes cannot be
* made public.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(modifySnapshotAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifySnapshotAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifySnapshotAttributeRequestMarshaller().marshall(modifySnapshotAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a security group.
* </p>
* <p>
* A security group is for use with instances either in the EC2-Classic
* platform or in a specific VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html"> Amazon EC2 Security Groups </a> in the <i>Amazon Elastic Compute Cloud User Guide</i> and <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html"> Security Groups for Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* <b>IMPORTANT:</b> EC2-Classic: You can have up to 500 security
* groups. EC2-VPC: You can create up to 500 security groups per VPC.
* </p>
* <p>
* When you create a security group, you specify a friendly name of your
* choice. You can have a security group for use in EC2-Classic with the
* same name as a security group for use in a VPC. However, you can't
* have two security groups for use in EC2-Classic with the same name or
* two security groups for use in a VPC with the same name.
* </p>
* <p>
* You have a default security group for use in EC2-Classic and a
* default security group for use in your VPC. If you don't specify a
* security group when you launch an instance, the instance is launched
* into the appropriate default security group. A default security group
* includes a default rule that grants instances unrestricted network
* access to each other.
* </p>
* <p>
* You can add or remove rules from your security groups using
* AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress,
* RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
* </p>
*
* @param createSecurityGroupRequest Container for the necessary
* parameters to execute the CreateSecurityGroup service method on
* AmazonEC2.
*
* @return The response from the CreateSecurityGroup service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateSecurityGroupResult createSecurityGroup(CreateSecurityGroupRequest createSecurityGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createSecurityGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateSecurityGroupRequest> request = null;
Response<CreateSecurityGroupResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateSecurityGroupRequestMarshaller().marshall(createSecurityGroupRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateSecurityGroupResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a listing for Amazon EC2 Reserved Instances to be sold in the
* Reserved Instance Marketplace. You can submit one Reserved Instance
* listing at a time. To get a list of your Reserved Instances, you can
* use the DescribeReservedInstances operation.
* </p>
* <p>
* The Reserved Instance Marketplace matches sellers who want to resell
* Reserved Instance capacity that they no longer need with buyers who
* want to purchase additional capacity. Reserved Instances bought and
* sold through the Reserved Instance Marketplace work like any other
* Reserved Instances.
* </p>
* <p>
* To sell your Reserved Instances, you must first register as a seller
* in the Reserved Instance Marketplace. After completing the
* registration process, you can create a Reserved Instance Marketplace
* listing of some or all of your Reserved Instances, and specify the
* upfront price to receive for them. Your Reserved Instance listings
* then become available for purchase. To view the details of your
* Reserved Instance listing, you can use the
* DescribeReservedInstancesListings operation.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param createReservedInstancesListingRequest Container for the
* necessary parameters to execute the CreateReservedInstancesListing
* service method on AmazonEC2.
*
* @return The response from the CreateReservedInstancesListing service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateReservedInstancesListingResult createReservedInstancesListing(CreateReservedInstancesListingRequest createReservedInstancesListingRequest) {
ExecutionContext executionContext = createExecutionContext(createReservedInstancesListingRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateReservedInstancesListingRequest> request = null;
Response<CreateReservedInstancesListingResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateReservedInstancesListingRequestMarshaller().marshall(createReservedInstancesListingRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateReservedInstancesListingResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified network interface. You must detach the network
* interface before you can delete it.
* </p>
*
* @param deleteNetworkInterfaceRequest Container for the necessary
* parameters to execute the DeleteNetworkInterface 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 deleteNetworkInterface(DeleteNetworkInterfaceRequest deleteNetworkInterfaceRequest) {
ExecutionContext executionContext = createExecutionContext(deleteNetworkInterfaceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteNetworkInterfaceRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteNetworkInterfaceRequestMarshaller().marshall(deleteNetworkInterfaceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Changes the route table associated with a given subnet in a VPC.
* After the operation completes, the subnet uses the routes in the new
* route table it's associated with. For more information about route
* tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* You can also use ReplaceRouteTableAssociation to change which table
* is the main route table in the VPC. You just specify the main route
* table's association ID and the route table to be the new main route
* table.
* </p>
*
* @param replaceRouteTableAssociationRequest Container for the necessary
* parameters to execute the ReplaceRouteTableAssociation service method
* on AmazonEC2.
*
* @return The response from the ReplaceRouteTableAssociation service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ReplaceRouteTableAssociationResult replaceRouteTableAssociation(ReplaceRouteTableAssociationRequest replaceRouteTableAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(replaceRouteTableAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReplaceRouteTableAssociationRequest> request = null;
Response<ReplaceRouteTableAssociationResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReplaceRouteTableAssociationRequestMarshaller().marshall(replaceRouteTableAssociationRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ReplaceRouteTableAssociationResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies the ID format for the specified resource on a per-region
* basis. You can specify that resources should receive longer IDs
* (17-character IDs) when they are created. The following resource types
* support longer IDs: <code>instance</code> | <code>reservation</code> |
* <code>snapshot</code> | <code>volume</code> .
* </p>
* <p>
* This setting applies to the IAM user who makes the request; it does
* not apply to the entire AWS account. By default, an IAM user defaults
* to the same settings as the root user. If you're using this action as
* the root user or as an IAM role that has permission to use this
* action, then these settings apply to the entire account, unless an IAM
* user explicitly overrides these settings for themselves. For more
* information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html#resource-ids-access"> Controlling Access to Longer ID Settings </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* Resources created with longer IDs are visible to all IAM users,
* regardless of these settings and provided that they have permission to
* use the relevant <code>Describe</code> command for the resource type.
* </p>
*
* @param modifyIdFormatRequest Container for the necessary parameters to
* execute the ModifyIdFormat 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 modifyIdFormat(ModifyIdFormatRequest modifyIdFormatRequest) {
ExecutionContext executionContext = createExecutionContext(modifyIdFormatRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyIdFormatRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyIdFormatRequestMarshaller().marshall(modifyIdFormatRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Detaches an Internet gateway from a VPC, disabling connectivity
* between the Internet and the VPC. The VPC must not contain any running
* instances with Elastic IP addresses.
* </p>
*
* @param detachInternetGatewayRequest Container for the necessary
* parameters to execute the DetachInternetGateway 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 detachInternetGateway(DetachInternetGatewayRequest detachInternetGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(detachInternetGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DetachInternetGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DetachInternetGatewayRequestMarshaller().marshall(detachInternetGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the specified attribute of the specified volume. You can
* specify only one attribute at a time.
* </p>
* <p>
* For more information about EBS volumes, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html"> Amazon EBS Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param describeVolumeAttributeRequest Container for the necessary
* parameters to execute the DescribeVolumeAttribute service method on
* AmazonEC2.
*
* @return The response from the DescribeVolumeAttribute service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVolumeAttributeResult describeVolumeAttribute(DescribeVolumeAttributeRequest describeVolumeAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(describeVolumeAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVolumeAttributeRequest> request = null;
Response<DescribeVolumeAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVolumeAttributeRequestMarshaller().marshall(describeVolumeAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVolumeAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes your Spot fleet requests.
* </p>
*
* @param describeSpotFleetRequestsRequest Container for the necessary
* parameters to execute the DescribeSpotFleetRequests service method on
* AmazonEC2.
*
* @return The response from the DescribeSpotFleetRequests service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeSpotFleetRequestsResult describeSpotFleetRequests(DescribeSpotFleetRequestsRequest describeSpotFleetRequestsRequest) {
ExecutionContext executionContext = createExecutionContext(describeSpotFleetRequestsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotFleetRequestsRequest> request = null;
Response<DescribeSpotFleetRequestsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotFleetRequestsRequestMarshaller().marshall(describeSpotFleetRequestsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotFleetRequestsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies the specified network interface attribute. You can specify
* only one attribute at a time.
* </p>
*
* @param modifyNetworkInterfaceAttributeRequest Container for the
* necessary parameters to execute the ModifyNetworkInterfaceAttribute
* 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 modifyNetworkInterfaceAttribute(ModifyNetworkInterfaceAttributeRequest modifyNetworkInterfaceAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(modifyNetworkInterfaceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyNetworkInterfaceAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyNetworkInterfaceAttributeRequestMarshaller().marshall(modifyNetworkInterfaceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Unassigns one or more secondary private IP addresses from a network
* interface.
* </p>
*
* @param unassignPrivateIpAddressesRequest Container for the necessary
* parameters to execute the UnassignPrivateIpAddresses 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 unassignPrivateIpAddresses(UnassignPrivateIpAddressesRequest unassignPrivateIpAddressesRequest) {
ExecutionContext executionContext = createExecutionContext(unassignPrivateIpAddressesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<UnassignPrivateIpAddressesRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new UnassignPrivateIpAddressesRequestMarshaller().marshall(unassignPrivateIpAddressesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deregisters the specified AMI. After you deregister an AMI, it can't
* be used to launch new instances.
* </p>
* <p>
* This command does not delete the AMI.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deregisterImageRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeregisterImageRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeregisterImageRequestMarshaller().marshall(deregisterImageRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Modifies the specified attribute of the specified instance. You can
* specify only one attribute at a time.
* </p>
* <p>
* To modify some attributes, the instance must be stopped. For more
* information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html"> Modifying Attributes of a Stopped Instance </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(modifyInstanceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyInstanceAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyInstanceAttributeRequestMarshaller().marshall(modifyInstanceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a placement group that you launch cluster instances into. You
* must give the group a name that's unique within the scope of your
* account.
* </p>
* <p>
* For more information about placement groups and cluster instances,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html"> Cluster Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createPlacementGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreatePlacementGroupRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreatePlacementGroupRequestMarshaller().marshall(createPlacementGroupRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your network ACLs.
* </p>
* <p>
* For more information about network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param describeNetworkAclsRequest Container for the necessary
* parameters to execute the DescribeNetworkAcls service method on
* AmazonEC2.
*
* @return The response from the DescribeNetworkAcls service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNetworkAclsResult describeNetworkAcls(DescribeNetworkAclsRequest describeNetworkAclsRequest) {
ExecutionContext executionContext = createExecutionContext(describeNetworkAclsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeNetworkAclsRequest> request = null;
Response<DescribeNetworkAclsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeNetworkAclsRequestMarshaller().marshall(describeNetworkAclsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeNetworkAclsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Gets the console output for the specified instance.
* </p>
* <p>
* Instances do not have a physical monitor through which you can view
* their console output. They also lack physical controls that allow you
* to power up, reboot, or shut them down. To allow these actions, we
* provide them through the Amazon EC2 API and command line interface.
* </p>
* <p>
* Instance console output is buffered and posted shortly after instance
* boot, reboot, and termination. Amazon EC2 preserves the most recent 64
* KB output which is available for at least one hour after the most
* recent post.
* </p>
* <p>
* For Linux instances, the instance console output displays the exact
* console output that would normally be displayed on a physical monitor
* attached to a computer. This output is buffered because the instance
* produces it and then posts it to a store where the instance's owner
* can retrieve it.
* </p>
* <p>
* For Windows instances, the instance console output includes output
* from the EC2Config service.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(getConsoleOutputRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<GetConsoleOutputRequest> request = null;
Response<GetConsoleOutputResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new GetConsoleOutputRequestMarshaller().marshall(getConsoleOutputRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new GetConsoleOutputResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Detaches a network interface from an instance.
* </p>
*
* @param detachNetworkInterfaceRequest Container for the necessary
* parameters to execute the DetachNetworkInterface 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 detachNetworkInterface(DetachNetworkInterfaceRequest detachNetworkInterfaceRequest) {
ExecutionContext executionContext = createExecutionContext(detachNetworkInterfaceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DetachNetworkInterfaceRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DetachNetworkInterfaceRequestMarshaller().marshall(detachNetworkInterfaceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the Spot instance requests that belong to your account.
* Spot instances are instances that Amazon EC2 launches when the bid
* price that you specify exceeds the current Spot price. Amazon EC2
* periodically sets the Spot price based on available Spot instance
* capacity and current Spot instance requests. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html"> Spot Instance Requests </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* You can use <code>DescribeSpotInstanceRequests</code> to find a
* running Spot instance by examining the response. If the status of the
* Spot instance is <code>fulfilled</code> , the instance ID appears in
* the response and contains the identifier of the instance.
* Alternatively, you can use DescribeInstances with a filter to look for
* instances where the instance lifecycle is <code>spot</code> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSpotInstanceRequestsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotInstanceRequestsRequest> request = null;
Response<DescribeSpotInstanceRequestsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotInstanceRequestsRequestMarshaller().marshall(describeSpotInstanceRequestsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotInstanceRequestsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the specified attribute of the specified VPC. You can
* specify only one attribute at a time.
* </p>
*
* @param describeVpcAttributeRequest Container for the necessary
* parameters to execute the DescribeVpcAttribute service method on
* AmazonEC2.
*
* @return The response from the DescribeVpcAttribute service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcAttributeResult describeVpcAttribute(DescribeVpcAttributeRequest describeVpcAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcAttributeRequest> request = null;
Response<DescribeVpcAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcAttributeRequestMarshaller().marshall(describeVpcAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Imports the public key from an RSA key pair that you created with a
* third-party tool. Compare this with CreateKeyPair, in which AWS
* creates the key pair and gives the keys to you (AWS keeps a copy of
* the public key). With ImportKeyPair, you create the key pair and give
* AWS just the public key. The private key is never transferred between
* you and AWS.
* </p>
* <p>
* For more information about key pairs, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html"> Key Pairs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(importKeyPairRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ImportKeyPairRequest> request = null;
Response<ImportKeyPairResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ImportKeyPairRequestMarshaller().marshall(importKeyPairRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ImportKeyPairResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a NAT gateway in the specified subnet. A NAT gateway can be
* used to enable instances in a private subnet to connect to the
* Internet. This action creates a network interface in the specified
* subnet with a private IP address from the IP address range of the
* subnet. For more information, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html"> NAT Gateways </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createNatGatewayRequest Container for the necessary parameters
* to execute the CreateNatGateway service method on AmazonEC2.
*
* @return The response from the CreateNatGateway service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateNatGatewayResult createNatGateway(CreateNatGatewayRequest createNatGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(createNatGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateNatGatewayRequest> request = null;
Response<CreateNatGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateNatGatewayRequestMarshaller().marshall(createNatGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateNatGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a route in a route table within a VPC.
* </p>
* <p>
* You must specify one of the following targets: Internet gateway or
* virtual private gateway, NAT instance, NAT gateway, VPC peering
* connection, or network interface.
* </p>
* <p>
* When determining how to route traffic, we use the route with the most
* specific match. For example, let's say the traffic is destined for
* <code>192.0.2.3</code> , and the route table includes the following
* two routes:
* </p>
*
* <ul>
* <li> <p>
* <code>192.0.2.0/24</code> (goes to some target A)
* </p>
* </li>
* <li> <p>
* <code>192.0.2.0/28</code> (goes to some target B)
* </p>
* </li>
*
* </ul>
* <p>
* Both routes apply to the traffic destined for <code>192.0.2.3</code>
* . However, the second route in the list covers a smaller number of IP
* addresses and is therefore more specific, so we use that route to
* determine where to target the traffic.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createRouteRequest Container for the necessary parameters to
* execute the CreateRoute service method on AmazonEC2.
*
* @return The response from the CreateRoute service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateRouteResult createRoute(CreateRouteRequest createRouteRequest) {
ExecutionContext executionContext = createExecutionContext(createRouteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateRouteRequest> request = null;
Response<CreateRouteResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateRouteRequestMarshaller().marshall(createRouteRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateRouteResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Acquires an Elastic IP address.
* </p>
* <p>
* An Elastic IP address is for use either in the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(allocateAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AllocateAddressRequest> request = null;
Response<AllocateAddressResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AllocateAddressRequestMarshaller().marshall(allocateAddressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AllocateAddressResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your Scheduled Instances.
* </p>
*
* @param describeScheduledInstancesRequest Container for the necessary
* parameters to execute the DescribeScheduledInstances service method on
* AmazonEC2.
*
* @return The response from the DescribeScheduledInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeScheduledInstancesResult describeScheduledInstances(DescribeScheduledInstancesRequest describeScheduledInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(describeScheduledInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeScheduledInstancesRequest> request = null;
Response<DescribeScheduledInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeScheduledInstancesRequestMarshaller().marshall(describeScheduledInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeScheduledInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified NAT gateway. Deleting a NAT gateway
* disassociates its Elastic IP address, but does not release the address
* from your account. Deleting a NAT gateway does not delete any NAT
* gateway routes in your route tables.
* </p>
*
* @param deleteNatGatewayRequest Container for the necessary parameters
* to execute the DeleteNatGateway service method on AmazonEC2.
*
* @return The response from the DeleteNatGateway service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DeleteNatGatewayResult deleteNatGateway(DeleteNatGatewayRequest deleteNatGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(deleteNatGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteNatGatewayRequest> request = null;
Response<DeleteNatGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteNatGatewayRequestMarshaller().marshall(deleteNatGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DeleteNatGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an entry (a rule) in a network ACL with the specified rule
* number. Each network ACL has a set of numbered ingress rules and a
* separate set of numbered egress rules. When determining whether a
* packet should be allowed in or out of a subnet associated with the
* ACL, we process the entries in the ACL according to the rule numbers,
* in ascending order. Each network ACL has a set of ingress rules and a
* separate set of egress rules.
* </p>
* <p>
* We recommend that you leave room between the rule numbers (for
* example, 100, 110, 120, ...), and not number them one right after the
* other (for example, 101, 102, 103, ...). This makes it easier to add a
* rule between existing ones without having to renumber the rules.
* </p>
* <p>
* After you add an entry, you can't modify it; you must either replace
* it, or create an entry and delete the old one.
* </p>
* <p>
* For more information about network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createNetworkAclEntryRequest Container for the necessary
* parameters to execute the CreateNetworkAclEntry 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 createNetworkAclEntry(CreateNetworkAclEntryRequest createNetworkAclEntryRequest) {
ExecutionContext executionContext = createExecutionContext(createNetworkAclEntryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateNetworkAclEntryRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateNetworkAclEntryRequestMarshaller().marshall(createNetworkAclEntryRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Bundles an Amazon instance store-backed Windows instance.
* </p>
* <p>
* During bundling, only the root device volume (C:\) is bundled. Data
* on other instance store volumes is not preserved.
* </p>
* <p>
* <b>NOTE:</b> This action is not applicable for Linux/Unix instances
* or Windows instances that are backed by Amazon EBS.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html"> Creating an Instance Store-Backed Windows AMI </a>
* .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(bundleInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<BundleInstanceRequest> request = null;
Response<BundleInstanceResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new BundleInstanceRequestMarshaller().marshall(bundleInstanceRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new BundleInstanceResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your security groups.
* </p>
* <p>
* A security group is for use with instances either in the EC2-Classic
* platform or in a specific VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html"> Amazon EC2 Security Groups </a> in the <i>Amazon Elastic Compute Cloud User Guide</i> and <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html"> Security Groups for Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSecurityGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSecurityGroupsRequest> request = null;
Response<DescribeSecurityGroupsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSecurityGroupsRequestMarshaller().marshall(describeSecurityGroupsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSecurityGroupsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Stops an Amazon EBS-backed instance.
* </p>
* <p>
* We don't charge hourly usage for a stopped instance, or data transfer
* fees; however, your root partition Amazon EBS volume remains,
* continues to persist your data, and you are charged for Amazon EBS
* volume usage. Each time you transition an instance from stopped to
* started, Amazon EC2 charges a full instance hour, even if transitions
* happen multiple times within a single hour.
* </p>
* <p>
* You can't start or stop Spot instances, and you can't stop instance
* store-backed instances.
* </p>
* <p>
* When you stop an instance, we shut it down. You can restart your
* instance at any time. Before stopping an instance, make sure it is in
* a state from which it can be restarted. Stopping an instance does not
* preserve data stored in RAM.
* </p>
* <p>
* Stopping an instance is different to rebooting or terminating it. For
* example, when you stop an instance, the root device and any other
* devices attached to the instance persist. When you terminate an
* instance, the root device and any other devices attached during the
* instance launch are automatically deleted. For more information about
* the differences between rebooting, stopping, and terminating
* instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html"> Instance Lifecycle </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* When you stop an instance, we attempt to shut it down forcibly after
* a short while. If your instance appears stuck in the stopping state
* after a period of time, there may be an issue with the underlying host
* computer. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html"> Troubleshooting Stopping Your Instance </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(stopInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<StopInstancesRequest> request = null;
Response<StopInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new StopInstancesRequestMarshaller().marshall(stopInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new StopInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the ID format settings for your resources on a per-region
* basis, for example, to view which resource types are enabled for
* longer IDs. This request only returns information about resource types
* whose ID formats can be modified; it does not return information about
* other resource types.
* </p>
* <p>
* The following resource types support longer IDs:
* <code>instance</code> | <code>reservation</code> |
* <code>snapshot</code> | <code>volume</code> .
* </p>
* <p>
* These settings apply to the IAM user who makes the request; they do
* not apply to the entire AWS account. By default, an IAM user defaults
* to the same settings as the root user, unless they explicitly override
* the settings by running the ModifyIdFormat command. Resources created
* with longer IDs are visible to all IAM users, regardless of these
* settings and provided that they have permission to use the relevant
* <code>Describe</code> command for the resource type.
* </p>
*
* @param describeIdFormatRequest Container for the necessary parameters
* to execute the DescribeIdFormat service method on AmazonEC2.
*
* @return The response from the DescribeIdFormat service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeIdFormatResult describeIdFormat(DescribeIdFormatRequest describeIdFormatRequest) {
ExecutionContext executionContext = createExecutionContext(describeIdFormatRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeIdFormatRequest> request = null;
Response<DescribeIdFormatResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeIdFormatRequestMarshaller().marshall(describeIdFormatRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeIdFormatResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a virtual private gateway. A virtual private gateway is the
* endpoint on the VPC side of your VPN connection. You can create a
* virtual private gateway before creating the VPC itself.
* </p>
* <p>
* For more information about virtual private gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createVpnGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpnGatewayRequest> request = null;
Response<CreateVpnGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpnGatewayRequestMarshaller().marshall(createVpnGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVpnGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Detaches an EBS volume from an instance. Make sure to unmount any
* file systems on the device within your operating system before
* detaching the volume. Failure to do so results in the volume being
* stuck in a busy state while detaching.
* </p>
* <p>
* If an Amazon EBS volume is the root device of an instance, it can't
* be detached while the instance is running. To detach the root volume,
* stop the instance first.
* </p>
* <p>
* When a volume with an AWS Marketplace product code is detached from
* an instance, the product code is no longer associated with the
* instance.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html"> Detaching an Amazon EBS Volume </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(detachVolumeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DetachVolumeRequest> request = null;
Response<DetachVolumeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DetachVolumeRequestMarshaller().marshall(detachVolumeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DetachVolumeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modify the auto-placement setting of a Dedicated host. When
* auto-placement is enabled, AWS will place instances that you launch
* with a tenancy of <code>host</code> , but without targeting a specific
* host ID, onto any available Dedicated host in your account which has
* auto-placement enabled. When auto-placement is disabled, you need to
* provide a host ID if you want the instance to launch onto a specific
* host. If no host ID is provided, the instance will be launched onto a
* suitable host which has auto-placement enabled.
* </p>
*
* @param modifyHostsRequest Container for the necessary parameters to
* execute the ModifyHosts service method on AmazonEC2.
*
* @return The response from the ModifyHosts service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifyHostsResult modifyHosts(ModifyHostsRequest modifyHostsRequest) {
ExecutionContext executionContext = createExecutionContext(modifyHostsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyHostsRequest> request = null;
Response<ModifyHostsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyHostsRequestMarshaller().marshall(modifyHostsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifyHostsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Registers an AMI. When you're creating an AMI, this is the final step
* you must complete before you can launch an instance from the AMI. For
* more information about creating AMIs, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html"> Creating Your Own AMIs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* <b>NOTE:</b> For Amazon EBS-backed instances, CreateImage creates and
* registers the AMI in a single request, so you don't have to register
* the AMI yourself.
* </p>
* <p>
* You can also use <code>RegisterImage</code> to create an Amazon
* EBS-backed Linux AMI from a snapshot of a root device volume. For more
* information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html"> Launching an Instance from a Snapshot </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* <b>IMPORTANT:</b> Some Linux distributions, such as Red Hat
* Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use
* the EC2 billingProduct code associated with an AMI to verify
* subscription status for package updates. Creating an AMI from an EBS
* snapshot does not maintain this billing code, and subsequent instances
* launched from such an AMI will not be able to connect to package
* update infrastructure. Similarly, although you can create a Windows
* AMI from a snapshot, you can't successfully launch an instance from
* the AMI. To create Windows AMIs or to create AMIs for Linux operating
* systems that must retain AMI billing codes to work properly, see
* CreateImage.
* </p>
* <p>
* If needed, you can deregister an AMI at any time. Any modifications
* you make to an AMI backed by an instance store volume invalidates its
* registration. If you make changes to an image, deregister the previous
* image and register the new image.
* </p>
* <p>
* <b>NOTE:</b> You can't register an image where a secondary (non-root)
* snapshot has AWS Marketplace product codes.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(registerImageRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RegisterImageRequest> request = null;
Response<RegisterImageResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RegisterImageRequestMarshaller().marshall(registerImageRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RegisterImageResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Resets an attribute of an instance to its default value. To reset the
* <code>kernel</code> or <code>ramdisk</code> , the instance must be in
* a stopped state. To reset the <code>sourceDestCheck</code> , the
* instance can be either running or stopped.
* </p>
* <p>
* The <code>sourceDestCheck</code> attribute controls whether
* source/destination checking is enabled. The default value is
* <code>true</code> , which means checking is enabled. This value must
* be <code>false</code> for a NAT instance to perform NAT. For more
* information, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html"> NAT Instances </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(resetInstanceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ResetInstanceAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ResetInstanceAttributeRequestMarshaller().marshall(resetInstanceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a 2048-bit RSA key pair with the specified name. Amazon EC2
* stores the public key and displays the private key for you to save to
* a file. The private key is returned as an unencrypted PEM encoded
* PKCS#8 private key. If a key with the specified name already exists,
* Amazon EC2 returns an error.
* </p>
* <p>
* You can have up to five thousand key pairs per region.
* </p>
* <p>
* The key pair returned to you is available only in the region in which
* you create it. To create a key pair that is available in all regions,
* use ImportKeyPair.
* </p>
* <p>
* For more information about key pairs, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html"> Key Pairs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createKeyPairRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateKeyPairRequest> request = null;
Response<CreateKeyPairResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateKeyPairRequestMarshaller().marshall(createKeyPairRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateKeyPairResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Links an EC2-Classic instance to a ClassicLink-enabled VPC through
* one or more of the VPC's security groups. You cannot link an
* EC2-Classic instance to more than one VPC at a time. You can only link
* an instance that's in the <code>running</code> state. An instance is
* automatically unlinked from a VPC when it's stopped - you can link it
* to the VPC again when you restart it.
* </p>
* <p>
* After you've linked an instance, you cannot change the VPC security
* groups that are associated with it. To change the security groups, you
* must first unlink the instance, and then link it again.
* </p>
* <p>
* Linking your instance to a VPC is sometimes referred to as
* <i>attaching</i> your instance.
* </p>
*
* @param attachClassicLinkVpcRequest Container for the necessary
* parameters to execute the AttachClassicLinkVpc service method on
* AmazonEC2.
*
* @return The response from the AttachClassicLinkVpc service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AttachClassicLinkVpcResult attachClassicLinkVpc(AttachClassicLinkVpcRequest attachClassicLinkVpcRequest) {
ExecutionContext executionContext = createExecutionContext(attachClassicLinkVpcRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AttachClassicLinkVpcRequest> request = null;
Response<AttachClassicLinkVpcResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AttachClassicLinkVpcRequestMarshaller().marshall(attachClassicLinkVpcRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AttachClassicLinkVpcResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies the specified attribute of the specified AMI. You can
* specify only one attribute at a time.
* </p>
* <p>
* <b>NOTE:</b> AWS Marketplace product codes cannot be modified. Images
* with an AWS Marketplace product code cannot be made public.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(modifyImageAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyImageAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyImageAttributeRequestMarshaller().marshall(modifyImageAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Disables ClassicLink for a VPC. You cannot disable ClassicLink for a
* VPC that has EC2-Classic instances linked to it.
* </p>
*
* @param disableVpcClassicLinkRequest Container for the necessary
* parameters to execute the DisableVpcClassicLink service method on
* AmazonEC2.
*
* @return The response from the DisableVpcClassicLink service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DisableVpcClassicLinkResult disableVpcClassicLink(DisableVpcClassicLinkRequest disableVpcClassicLinkRequest) {
ExecutionContext executionContext = createExecutionContext(disableVpcClassicLinkRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DisableVpcClassicLinkRequest> request = null;
Response<DisableVpcClassicLinkResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DisableVpcClassicLinkRequestMarshaller().marshall(disableVpcClassicLinkRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DisableVpcClassicLinkResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Disables a virtual private gateway (VGW) from propagating routes to a
* specified route table of a VPC.
* </p>
*
* @param disableVgwRoutePropagationRequest Container for the necessary
* parameters to execute the DisableVgwRoutePropagation 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 disableVgwRoutePropagation(DisableVgwRoutePropagationRequest disableVgwRoutePropagationRequest) {
ExecutionContext executionContext = createExecutionContext(disableVgwRoutePropagationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DisableVgwRoutePropagationRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DisableVgwRoutePropagationRequestMarshaller().marshall(disableVgwRoutePropagationRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Resets permission settings for the specified snapshot.
* </p>
* <p>
* For more information on modifying snapshot permissions, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html"> Sharing Snapshots </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(resetSnapshotAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ResetSnapshotAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ResetSnapshotAttributeRequestMarshaller().marshall(resetSnapshotAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Assigns one or more secondary private IP addresses to the specified
* network interface. You can specify one or more specific secondary IP
* addresses, or you can specify the number of secondary IP addresses to
* be automatically assigned within the subnet's CIDR block range. The
* number of secondary IP addresses that you can assign to an instance
* varies by instance type. For information about instance types, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html"> Instance Types </a> in the <i>Amazon Elastic Compute Cloud User Guide</i> . For more information about Elastic IP addresses, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* AssignPrivateIpAddresses is available only in EC2-VPC.
* </p>
*
* @param assignPrivateIpAddressesRequest Container for the necessary
* parameters to execute the AssignPrivateIpAddresses 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 assignPrivateIpAddresses(AssignPrivateIpAddressesRequest assignPrivateIpAddressesRequest) {
ExecutionContext executionContext = createExecutionContext(assignPrivateIpAddressesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AssignPrivateIpAddressesRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AssignPrivateIpAddressesRequestMarshaller().marshall(assignPrivateIpAddressesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Enables a VPC to support DNS hostname resolution for ClassicLink. If
* enabled, the DNS hostname of a linked EC2-Classic instance resolves to
* its private IP address when addressed from an instance in the VPC to
* which it's linked. Similarly, the DNS hostname of an instance in a VPC
* resolves to its private IP address when addressed from a linked
* EC2-Classic instance. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param enableVpcClassicLinkDnsSupportRequest Container for the
* necessary parameters to execute the EnableVpcClassicLinkDnsSupport
* service method on AmazonEC2.
*
* @return The response from the EnableVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public EnableVpcClassicLinkDnsSupportResult enableVpcClassicLinkDnsSupport(EnableVpcClassicLinkDnsSupportRequest enableVpcClassicLinkDnsSupportRequest) {
ExecutionContext executionContext = createExecutionContext(enableVpcClassicLinkDnsSupportRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<EnableVpcClassicLinkDnsSupportRequest> request = null;
Response<EnableVpcClassicLinkDnsSupportResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new EnableVpcClassicLinkDnsSupportRequestMarshaller().marshall(enableVpcClassicLinkDnsSupportRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new EnableVpcClassicLinkDnsSupportResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies attributes of a specified VPC endpoint. You can modify the
* policy associated with the endpoint, and you can add and remove route
* tables associated with the endpoint.
* </p>
*
* @param modifyVpcEndpointRequest Container for the necessary parameters
* to execute the ModifyVpcEndpoint service method on AmazonEC2.
*
* @return The response from the ModifyVpcEndpoint service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifyVpcEndpointResult modifyVpcEndpoint(ModifyVpcEndpointRequest modifyVpcEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(modifyVpcEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyVpcEndpointRequest> request = null;
Response<ModifyVpcEndpointResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyVpcEndpointRequestMarshaller().marshall(modifyVpcEndpointRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifyVpcEndpointResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your network interfaces.
* </p>
*
* @param describeNetworkInterfacesRequest Container for the necessary
* parameters to execute the DescribeNetworkInterfaces service method on
* AmazonEC2.
*
* @return The response from the DescribeNetworkInterfaces service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNetworkInterfacesResult describeNetworkInterfaces(DescribeNetworkInterfacesRequest describeNetworkInterfacesRequest) {
ExecutionContext executionContext = createExecutionContext(describeNetworkInterfacesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeNetworkInterfacesRequest> request = null;
Response<DescribeNetworkInterfacesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeNetworkInterfacesRequestMarshaller().marshall(describeNetworkInterfacesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeNetworkInterfacesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels one or more Spot instance requests. Spot instances are
* instances that Amazon EC2 starts on your behalf when the bid price
* that you specify exceeds the current Spot price. Amazon EC2
* periodically sets the Spot price based on available Spot instance
* capacity and current Spot instance requests. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html"> Spot Instance Requests </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* <b>IMPORTANT:</b> Canceling a Spot instance request does not
* terminate running Spot instances associated with the request.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(cancelSpotInstanceRequestsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelSpotInstanceRequestsRequest> request = null;
Response<CancelSpotInstanceRequestsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelSpotInstanceRequestsRequestMarshaller().marshall(cancelSpotInstanceRequestsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CancelSpotInstanceRequestsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Enables monitoring for a running instance. For more information about
* monitoring instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html"> Monitoring Your Instances and Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(monitorInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<MonitorInstancesRequest> request = null;
Response<MonitorInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new MonitorInstancesRequestMarshaller().marshall(monitorInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new MonitorInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels the specified Reserved Instance listing in the Reserved
* Instance Marketplace.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param cancelReservedInstancesListingRequest Container for the
* necessary parameters to execute the CancelReservedInstancesListing
* service method on AmazonEC2.
*
* @return The response from the CancelReservedInstancesListing service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CancelReservedInstancesListingResult cancelReservedInstancesListing(CancelReservedInstancesListingRequest cancelReservedInstancesListingRequest) {
ExecutionContext executionContext = createExecutionContext(cancelReservedInstancesListingRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelReservedInstancesListingRequest> request = null;
Response<CancelReservedInstancesListingResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelReservedInstancesListingRequestMarshaller().marshall(cancelReservedInstancesListingRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CancelReservedInstancesListingResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your key pairs.
* </p>
* <p>
* For more information about key pairs, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html"> Key Pairs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeKeyPairsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeKeyPairsRequest> request = null;
Response<DescribeKeyPairsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeKeyPairsRequestMarshaller().marshall(describeKeyPairsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeKeyPairsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes attributes of your AWS account. The following are the
* supported account attributes:
* </p>
*
* <ul>
* <li> <p>
* <code>supported-platforms</code> : Indicates whether your account can
* launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.
* </p>
* </li>
* <li> <p>
* <code>default-vpc</code> : The ID of the default VPC for your
* account, or <code>none</code> .
* </p>
* </li>
* <li> <p>
* <code>max-instances</code> : The maximum number of On-Demand
* instances that you can run.
* </p>
* </li>
* <li> <p>
* <code>vpc-max-security-groups-per-interface</code> : The maximum
* number of security groups that you can assign to a network interface.
* </p>
* </li>
* <li> <p>
* <code>max-elastic-ips</code> : The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-Classic.
* </p>
* </li>
* <li> <p>
* <code>vpc-max-elastic-ips</code> : The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-VPC.
* </p>
* </li>
*
* </ul>
*
* @param describeAccountAttributesRequest Container for the necessary
* parameters to execute the DescribeAccountAttributes service method on
* AmazonEC2.
*
* @return The response from the DescribeAccountAttributes service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeAccountAttributesResult describeAccountAttributes(DescribeAccountAttributesRequest describeAccountAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(describeAccountAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeAccountAttributesRequest> request = null;
Response<DescribeAccountAttributesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeAccountAttributesRequestMarshaller().marshall(describeAccountAttributesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeAccountAttributesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your VPN connections.
* </p>
* <p>
* For more information about VPN connections, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeVpnConnectionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpnConnectionsRequest> request = null;
Response<DescribeVpnConnectionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpnConnectionsRequestMarshaller().marshall(describeVpnConnectionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpnConnectionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a Spot instance request. Spot instances are instances that
* Amazon EC2 launches when the bid price that you specify exceeds the
* current Spot price. Amazon EC2 periodically sets the Spot price based
* on available Spot Instance capacity and current Spot instance
* requests. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html"> Spot Instance Requests </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(requestSpotInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RequestSpotInstancesRequest> request = null;
Response<RequestSpotInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RequestSpotInstancesRequestMarshaller().marshall(requestSpotInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RequestSpotInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels an in-process import virtual machine or import snapshot task.
* </p>
*
* @param cancelImportTaskRequest Container for the necessary parameters
* to execute the CancelImportTask service method on AmazonEC2.
*
* @return The response from the CancelImportTask service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CancelImportTaskResult cancelImportTask(CancelImportTaskRequest cancelImportTaskRequest) {
ExecutionContext executionContext = createExecutionContext(cancelImportTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelImportTaskRequest> request = null;
Response<CancelImportTaskResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelImportTaskRequestMarshaller().marshall(cancelImportTaskRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CancelImportTaskResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your virtual private gateways.
* </p>
* <p>
* For more information about virtual private gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding an IPsec Hardware VPN to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeVpnGatewaysRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpnGatewaysRequest> request = null;
Response<DescribeVpnGatewaysResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpnGatewaysRequestMarshaller().marshall(describeVpnGatewaysRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpnGatewaysResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Retrieve a JPG-format screenshot of a running instance to help with
* troubleshooting.
* </p>
* <p>
* The returned content is base64-encoded.
* </p>
*
* @param getConsoleScreenshotRequest Container for the necessary
* parameters to execute the GetConsoleScreenshot service method on
* AmazonEC2.
*
* @return The response from the GetConsoleScreenshot service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public GetConsoleScreenshotResult getConsoleScreenshot(GetConsoleScreenshotRequest getConsoleScreenshotRequest) {
ExecutionContext executionContext = createExecutionContext(getConsoleScreenshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<GetConsoleScreenshotRequest> request = null;
Response<GetConsoleScreenshotResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new GetConsoleScreenshotRequestMarshaller().marshall(getConsoleScreenshotRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new GetConsoleScreenshotResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a route table for the specified VPC. After you create a route
* table, you can add routes and associate the table with a subnet.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createRouteTableRequest Container for the necessary parameters
* to execute the CreateRouteTable service method on AmazonEC2.
*
* @return The response from the CreateRouteTable service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateRouteTableResult createRouteTable(CreateRouteTableRequest createRouteTableRequest) {
ExecutionContext executionContext = createExecutionContext(createRouteTableRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateRouteTableRequest> request = null;
Response<CreateRouteTableResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateRouteTableRequestMarshaller().marshall(createRouteTableRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateRouteTableResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Finds available schedules that meet the specified criteria.
* </p>
* <p>
* You can search for an available schedule no more than 3 months in
* advance. You must meet the minimum required duration of 1,200 hours
* per year. For example, the minimum daily schedule is 4 hours, the
* minimum weekly schedule is 24 hours, and the minimum monthly schedule
* is 100 hours.
* </p>
* <p>
* After you find a schedule that meets your needs, call
* PurchaseScheduledInstances to purchase Scheduled Instances with that
* schedule.
* </p>
*
* @param describeScheduledInstanceAvailabilityRequest Container for the
* necessary parameters to execute the
* DescribeScheduledInstanceAvailability service method on AmazonEC2.
*
* @return The response from the DescribeScheduledInstanceAvailability
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeScheduledInstanceAvailabilityResult describeScheduledInstanceAvailability(DescribeScheduledInstanceAvailabilityRequest describeScheduledInstanceAvailabilityRequest) {
ExecutionContext executionContext = createExecutionContext(describeScheduledInstanceAvailabilityRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeScheduledInstanceAvailabilityRequest> request = null;
Response<DescribeScheduledInstanceAvailabilityResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeScheduledInstanceAvailabilityRequestMarshaller().marshall(describeScheduledInstanceAvailabilityRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeScheduledInstanceAvailabilityResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the ClassicLink DNS support status of one or more VPCs. If
* enabled, the DNS hostname of a linked EC2-Classic instance resolves to
* its private IP address when addressed from an instance in the VPC to
* which it's linked. Similarly, the DNS hostname of an instance in a VPC
* resolves to its private IP address when addressed from a linked
* EC2-Classic instance. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param describeVpcClassicLinkDnsSupportRequest Container for the
* necessary parameters to execute the DescribeVpcClassicLinkDnsSupport
* service method on AmazonEC2.
*
* @return The response from the DescribeVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcClassicLinkDnsSupportResult describeVpcClassicLinkDnsSupport(DescribeVpcClassicLinkDnsSupportRequest describeVpcClassicLinkDnsSupportRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcClassicLinkDnsSupportRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcClassicLinkDnsSupportRequest> request = null;
Response<DescribeVpcClassicLinkDnsSupportResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcClassicLinkDnsSupportRequestMarshaller().marshall(describeVpcClassicLinkDnsSupportRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcClassicLinkDnsSupportResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Disables monitoring for a running instance. For more information
* about monitoring instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html"> Monitoring Your Instances and Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(unmonitorInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<UnmonitorInstancesRequest> request = null;
Response<UnmonitorInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new UnmonitorInstancesRequestMarshaller().marshall(unmonitorInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new UnmonitorInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified route table. You must disassociate the route
* table from any subnets before you can delete it. You can't delete the
* main route table.
* </p>
*
* @param deleteRouteTableRequest Container for the necessary parameters
* to execute the DeleteRouteTable 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 deleteRouteTable(DeleteRouteTableRequest deleteRouteTableRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRouteTableRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteRouteTableRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteRouteTableRequestMarshaller().marshall(deleteRouteTableRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Modifies the specified Spot fleet request.
* </p>
* <p>
* While the Spot fleet request is being modified, it is in the
* <code>modifying</code> state.
* </p>
* <p>
* To scale up your Spot fleet, increase its target capacity. The Spot
* fleet launches the additional Spot instances according to the
* allocation strategy for the Spot fleet request. If the allocation
* strategy is <code>lowestPrice</code> , the Spot fleet launches
* instances using the Spot pool with the lowest price. If the allocation
* strategy is <code>diversified</code> , the Spot fleet distributes the
* instances across the Spot pools.
* </p>
* <p>
* To scale down your Spot fleet, decrease its target capacity. First,
* the Spot fleet cancels any open bids that exceed the new target
* capacity. You can request that the Spot fleet terminate Spot instances
* until the size of the fleet no longer exceeds the new target capacity.
* If the allocation strategy is <code>lowestPrice</code> , the Spot
* fleet terminates the instances with the highest price per unit. If the
* allocation strategy is <code>diversified</code> , the Spot fleet
* terminates instances across the Spot pools. Alternatively, you can
* request that the Spot fleet keep the fleet at its current size, but
* not replace any Spot instances that are interrupted or that you
* terminate manually.
* </p>
*
* @param modifySpotFleetRequestRequest Container for the necessary
* parameters to execute the ModifySpotFleetRequest service method on
* AmazonEC2.
*
* @return The response from the ModifySpotFleetRequest service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifySpotFleetRequestResult modifySpotFleetRequest(ModifySpotFleetRequestRequest modifySpotFleetRequestRequest) {
ExecutionContext executionContext = createExecutionContext(modifySpotFleetRequestRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifySpotFleetRequestRequest> request = null;
Response<ModifySpotFleetRequestResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifySpotFleetRequestRequestMarshaller().marshall(modifySpotFleetRequestRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifySpotFleetRequestResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Requests a VPC peering connection between two VPCs: a requester VPC
* that you own and a peer VPC with which to create the connection. The
* peer VPC can belong to another AWS account. The requester VPC and peer
* VPC cannot have overlapping CIDR blocks.
* </p>
* <p>
* The owner of the peer VPC must accept the peering request to activate
* the peering connection. The VPC peering connection request expires
* after 7 days, after which it cannot be accepted or rejected.
* </p>
* <p>
* A <code>CreateVpcPeeringConnection</code> request between VPCs with
* overlapping CIDR blocks results in the VPC peering connection having a
* status of <code>failed</code> .
* </p>
*
* @param createVpcPeeringConnectionRequest Container for the necessary
* parameters to execute the CreateVpcPeeringConnection service method on
* AmazonEC2.
*
* @return The response from the CreateVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateVpcPeeringConnectionResult createVpcPeeringConnection(CreateVpcPeeringConnectionRequest createVpcPeeringConnectionRequest) {
ExecutionContext executionContext = createExecutionContext(createVpcPeeringConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpcPeeringConnectionRequest> request = null;
Response<CreateVpcPeeringConnectionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpcPeeringConnectionRequestMarshaller().marshall(createVpcPeeringConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVpcPeeringConnectionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your DHCP options sets.
* </p>
* <p>
* For more information about DHCP options sets, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html"> DHCP Options Sets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeDhcpOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeDhcpOptionsRequest> request = null;
Response<DescribeDhcpOptionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeDhcpOptionsRequestMarshaller().marshall(describeDhcpOptionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeDhcpOptionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies the specified attribute of the specified VPC.
* </p>
*
* @param modifyVpcAttributeRequest Container for the necessary
* parameters to execute the ModifyVpcAttribute 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 modifyVpcAttribute(ModifyVpcAttributeRequest modifyVpcAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(modifyVpcAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyVpcAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyVpcAttributeRequestMarshaller().marshall(modifyVpcAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Modifies a subnet attribute.
* </p>
*
* @param modifySubnetAttributeRequest Container for the necessary
* parameters to execute the ModifySubnetAttribute 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 modifySubnetAttribute(ModifySubnetAttributeRequest modifySubnetAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(modifySubnetAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifySubnetAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifySubnetAttributeRequestMarshaller().marshall(modifySubnetAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Accept a VPC peering connection request. To accept a request, the VPC
* peering connection must be in the <code>pending-acceptance</code>
* state, and you must be the owner of the peer VPC. Use the
* <code>DescribeVpcPeeringConnections</code> request to view your
* outstanding VPC peering connection requests.
* </p>
*
* @param acceptVpcPeeringConnectionRequest Container for the necessary
* parameters to execute the AcceptVpcPeeringConnection service method on
* AmazonEC2.
*
* @return The response from the AcceptVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AcceptVpcPeeringConnectionResult acceptVpcPeeringConnection(AcceptVpcPeeringConnectionRequest acceptVpcPeeringConnectionRequest) {
ExecutionContext executionContext = createExecutionContext(acceptVpcPeeringConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AcceptVpcPeeringConnectionRequest> request = null;
Response<AcceptVpcPeeringConnectionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AcceptVpcPeeringConnectionRequestMarshaller().marshall(acceptVpcPeeringConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AcceptVpcPeeringConnectionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Initiates the copy of an AMI from the specified source region to the
* current region. You specify the destination region by using its
* endpoint when making the request.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html"> Copying AMIs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param copyImageRequest Container for the necessary parameters to
* execute the CopyImage service method on AmazonEC2.
*
* @return The response from the CopyImage service method, as returned by
* AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CopyImageResult copyImage(CopyImageRequest copyImageRequest) {
ExecutionContext executionContext = createExecutionContext(copyImageRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CopyImageRequest> request = null;
Response<CopyImageResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CopyImageRequestMarshaller().marshall(copyImageRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CopyImageResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified set of DHCP options. You must disassociate the
* set of DHCP options before you can delete it. You can disassociate the
* set of DHCP options by associating either a new set of options or the
* default set of options with the VPC.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteDhcpOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteDhcpOptionsRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteDhcpOptionsRequestMarshaller().marshall(deleteDhcpOptionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the specified EBS volumes.
* </p>
* <p>
* If you are describing a long list of volumes, you can paginate the
* output to make the list more manageable. The <code>MaxResults</code>
* parameter sets the maximum number of results returned in a single
* page. If the list of results exceeds your <code>MaxResults</code>
* value, then that number of results is returned along with a
* <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeVolumes</code> request to retrieve the remaining
* results.
* </p>
* <p>
* For more information about EBS volumes, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html"> Amazon EBS Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeVolumesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVolumesRequest> request = null;
Response<DescribeVolumesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVolumesRequestMarshaller().marshall(describeVolumesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVolumesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified network ACL. You can't delete the ACL if it's
* associated with any subnets. You can't delete the default network ACL.
* </p>
*
* @param deleteNetworkAclRequest Container for the necessary parameters
* to execute the DeleteNetworkAcl 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 deleteNetworkAcl(DeleteNetworkAclRequest deleteNetworkAclRequest) {
ExecutionContext executionContext = createExecutionContext(deleteNetworkAclRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteNetworkAclRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteNetworkAclRequestMarshaller().marshall(deleteNetworkAclRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deletes the specified VPN connection.
* </p>
* <p>
* If you're deleting the VPC and its associated components, we
* recommend that you detach the virtual private gateway from the VPC and
* delete the VPC before deleting the VPN connection. If you believe that
* the tunnel credentials for your VPN connection have been compromised,
* you can delete the VPN connection and create a new one that has new
* keys, without needing to delete the VPC or virtual private gateway. If
* you create a new VPN connection, you must reconfigure the customer
* gateway using the new configuration information returned with the new
* VPN connection ID.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteVpnConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpnConnectionRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpnConnectionRequestMarshaller().marshall(deleteVpnConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Cancels the specified Spot fleet requests.
* </p>
* <p>
* After you cancel a Spot fleet request, the Spot fleet launches no new
* Spot instances. You must specify whether the Spot fleet should also
* terminate its Spot instances. If you terminate the instances, the Spot
* fleet request enters the <code>cancelled_terminating</code> state.
* Otherwise, the Spot fleet request enters the
* <code>cancelled_running</code> state and the instances continue to run
* until they are interrupted or you terminate them manually.
* </p>
*
* @param cancelSpotFleetRequestsRequest Container for the necessary
* parameters to execute the CancelSpotFleetRequests service method on
* AmazonEC2.
*
* @return The response from the CancelSpotFleetRequests service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CancelSpotFleetRequestsResult cancelSpotFleetRequests(CancelSpotFleetRequestsRequest cancelSpotFleetRequestsRequest) {
ExecutionContext executionContext = createExecutionContext(cancelSpotFleetRequestsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelSpotFleetRequestsRequest> request = null;
Response<CancelSpotFleetRequestsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelSpotFleetRequestsRequestMarshaller().marshall(cancelSpotFleetRequestsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CancelSpotFleetRequestsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies the VPC peering connection options on one side of a VPC
* peering connection. You can do the following:
* </p>
*
* <ul>
* <li> <p>
* Enable/disable communication over the peering connection between an
* EC2-Classic instance that's linked to your VPC (using ClassicLink) and
* instances in the peer VPC.
* </p>
* </li>
* <li> <p>
* Enable/disable communication over the peering connection between
* instances in your VPC and an EC2-Classic instance that's linked to the
* peer VPC.
* </p>
* </li>
*
* </ul>
* <p>
* If the peered VPCs are in different accounts, each owner must
* initiate a separate request to enable or disable communication in
* either direction, depending on whether their VPC was the requester or
* accepter for the VPC peering connection. If the peered VPCs are in the
* same account, you can modify the requester and accepter options in the
* same request. To confirm which VPC is the accepter and requester for a
* VPC peering connection, use the DescribeVpcPeeringConnections command.
* </p>
*
* @param modifyVpcPeeringConnectionOptionsRequest Container for the
* necessary parameters to execute the ModifyVpcPeeringConnectionOptions
* service method on AmazonEC2.
*
* @return The response from the ModifyVpcPeeringConnectionOptions
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifyVpcPeeringConnectionOptionsResult modifyVpcPeeringConnectionOptions(ModifyVpcPeeringConnectionOptionsRequest modifyVpcPeeringConnectionOptionsRequest) {
ExecutionContext executionContext = createExecutionContext(modifyVpcPeeringConnectionOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyVpcPeeringConnectionOptionsRequest> request = null;
Response<ModifyVpcPeeringConnectionOptionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyVpcPeeringConnectionOptionsRequestMarshaller().marshall(modifyVpcPeeringConnectionOptionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifyVpcPeeringConnectionOptionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of the EBS snapshots available to you.
* Available snapshots include public snapshots available for any AWS
* account to launch, private snapshots that you own, and private
* snapshots owned by another AWS account but for which you've been given
* explicit create volume permissions.
* </p>
* <p>
* The create volume permissions fall into the following categories:
* </p>
*
* <ul>
* <li> <p>
* <i>public</i> : The owner of the snapshot granted create volume
* permissions for the snapshot to the <code>all</code> group. All AWS
* accounts have create volume permissions for these snapshots.
* </p>
* </li>
* <li> <p>
* <i>explicit</i> : The owner of the snapshot granted create volume
* permissions to a specific AWS account.
* </p>
* </li>
* <li> <p>
* <i>implicit</i> : An AWS account has implicit create volume
* permissions for all snapshots it owns.
* </p>
* </li>
*
* </ul>
* <p>
* The list of snapshots returned can be modified by specifying snapshot
* IDs, snapshot owners, or AWS accounts with create volume permissions.
* If no options are specified, Amazon EC2 returns all snapshots for
* which you have create volume permissions.
* </p>
* <p>
* If you specify one or more snapshot IDs, only snapshots that have the
* specified IDs are returned. If you specify an invalid snapshot ID, an
* error is returned. If you specify a snapshot ID for which you do not
* have access, it is not included in the returned results.
* </p>
* <p>
* If you specify one or more snapshot owners, only snapshots from the
* specified owners and for which you have access are returned. The
* results can include the AWS account IDs of the specified owners,
* <code>amazon</code> for snapshots owned by Amazon, or
* <code>self</code> for snapshots that you own.
* </p>
* <p>
* If you specify a list of restorable users, only snapshots with create
* snapshot permissions for those users are returned. You can specify AWS
* account IDs (if you own the snapshots), <code>self</code> for
* snapshots for which you own or have explicit permissions, or
* <code>all</code> for public snapshots.
* </p>
* <p>
* If you are describing a long list of snapshots, you can paginate the
* output to make the list more manageable. The <code>MaxResults</code>
* parameter sets the maximum number of results returned in a single
* page. If the list of results exceeds your <code>MaxResults</code>
* value, then that number of results is returned along with a
* <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeSnapshots</code> request to retrieve the remaining
* results.
* </p>
* <p>
* For more information about EBS snapshots, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html"> Amazon EBS Snapshots </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSnapshotsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSnapshotsRequest> request = null;
Response<DescribeSnapshotsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSnapshotsRequestMarshaller().marshall(describeSnapshotsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSnapshotsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes available AWS services in a prefix list format, which
* includes the prefix list name and prefix list ID of the service and
* the IP address range for the service. A prefix list ID is required for
* creating an outbound security group rule that allows traffic from a
* VPC to access an AWS service through a VPC endpoint.
* </p>
*
* @param describePrefixListsRequest Container for the necessary
* parameters to execute the DescribePrefixLists service method on
* AmazonEC2.
*
* @return The response from the DescribePrefixLists service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribePrefixListsResult describePrefixLists(DescribePrefixListsRequest describePrefixListsRequest) {
ExecutionContext executionContext = createExecutionContext(describePrefixListsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribePrefixListsRequest> request = null;
Response<DescribePrefixListsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribePrefixListsRequestMarshaller().marshall(describePrefixListsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribePrefixListsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Replaces an entry (rule) in a network ACL. For more information about
* network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param replaceNetworkAclEntryRequest Container for the necessary
* parameters to execute the ReplaceNetworkAclEntry 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 replaceNetworkAclEntry(ReplaceNetworkAclEntryRequest replaceNetworkAclEntryRequest) {
ExecutionContext executionContext = createExecutionContext(replaceNetworkAclEntryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReplaceNetworkAclEntryRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReplaceNetworkAclEntryRequestMarshaller().marshall(replaceNetworkAclEntryRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates one or more flow logs to capture IP traffic for a specific
* network interface, subnet, or VPC. Flow logs are delivered to a
* specified log group in Amazon CloudWatch Logs. If you specify a VPC or
* subnet in the request, a log stream is created in CloudWatch Logs for
* each network interface in the subnet or VPC. Log streams can include
* information about accepted and rejected traffic to a network
* interface. You can view the data in your log streams using Amazon
* CloudWatch Logs.
* </p>
* <p>
* In your request, you must also specify an IAM role that has
* permission to publish logs to CloudWatch Logs.
* </p>
*
* @param createFlowLogsRequest Container for the necessary parameters to
* execute the CreateFlowLogs service method on AmazonEC2.
*
* @return The response from the CreateFlowLogs service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateFlowLogsResult createFlowLogs(CreateFlowLogsRequest createFlowLogsRequest) {
ExecutionContext executionContext = createExecutionContext(createFlowLogsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateFlowLogsRequest> request = null;
Response<CreateFlowLogsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateFlowLogsRequestMarshaller().marshall(createFlowLogsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateFlowLogsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified Internet gateway. You must detach the Internet
* gateway from the VPC before you can delete it.
* </p>
*
* @param deleteInternetGatewayRequest Container for the necessary
* parameters to execute the DeleteInternetGateway 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 deleteInternetGateway(DeleteInternetGatewayRequest deleteInternetGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(deleteInternetGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteInternetGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteInternetGatewayRequestMarshaller().marshall(deleteInternetGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the status of the specified volumes. Volume status provides
* the result of the checks performed on your volumes to determine events
* that can impair the performance of your volumes. The performance of a
* volume can be affected if an issue occurs on the volume's underlying
* host. If the volume's underlying host experiences a power outage or
* system issue, after the system is restored, there could be data
* inconsistencies on the volume. Volume events notify you if this
* occurs. Volume actions notify you if any action needs to be taken in
* response to the event.
* </p>
* <p>
* The <code>DescribeVolumeStatus</code> operation provides the
* following information about the specified volumes:
* </p>
* <p>
* <i>Status</i> : Reflects the current status of the volume. The
* possible values are <code>ok</code> , <code>impaired</code> ,
* <code>warning</code> , or <code>insufficient-data</code> . If all
* checks pass, the overall status of the volume is <code>ok</code> . If
* the check fails, the overall status is <code>impaired</code> . If the
* status is <code>insufficient-data</code> , then the checks may still
* be taking place on your volume at the time. We recommend that you
* retry the request. For more information on volume status, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html"> Monitoring the Status of Your Volumes </a>
* .
* </p>
* <p>
* <i>Events</i> : Reflect the cause of a volume status and may require
* you to take action. For example, if your volume returns an
* <code>impaired</code> status, then the volume event might be
* <code>potential-data-inconsistency</code> . This means that your
* volume has been affected by an issue with the underlying host, has all
* I/O operations disabled, and may have inconsistent data.
* </p>
* <p>
* <i>Actions</i> : Reflect the actions you may have to take in response
* to an event. For example, if the status of the volume is
* <code>impaired</code> and the volume event shows
* <code>potential-data-inconsistency</code> , then the action shows
* <code>enable-volume-io</code> . This means that you may want to enable
* the I/O operations for the volume by calling the EnableVolumeIO action
* and then check the volume for data consistency.
* </p>
* <p>
* <b>NOTE:</b> Volume status is based on the volume status checks, and
* does not reflect the volume state. Therefore, volume status does not
* indicate volumes in the error state (for example, when a volume is
* incapable of accepting I/O.)
* </p>
*
* @param describeVolumeStatusRequest Container for the necessary
* parameters to execute the DescribeVolumeStatus service method on
* AmazonEC2.
*
* @return The response from the DescribeVolumeStatus service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVolumeStatusResult describeVolumeStatus(DescribeVolumeStatusRequest describeVolumeStatusRequest) {
ExecutionContext executionContext = createExecutionContext(describeVolumeStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVolumeStatusRequest> request = null;
Response<DescribeVolumeStatusResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVolumeStatusRequestMarshaller().marshall(describeVolumeStatusRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVolumeStatusResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the data feed for Spot instances.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteSpotDatafeedSubscriptionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteSpotDatafeedSubscriptionRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteSpotDatafeedSubscriptionRequestMarshaller().marshall(deleteSpotDatafeedSubscriptionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Set the instance affinity value for a specific stopped instance and
* modify the instance tenancy setting.
* </p>
* <p>
* Instance affinity is disabled by default. When instance affinity is
* <code>host</code> and it is not associated with a specific Dedicated
* host, the next time it is launched it will automatically be associated
* with the host it lands on. This relationship will persist if the
* instance is stopped/started, or rebooted.
* </p>
* <p>
* You can modify the host ID associated with a stopped instance. If a
* stopped instance has a new host ID association, the instance will
* target that host when restarted.
* </p>
* <p>
* You can modify the tenancy of a stopped instance with a tenancy of
* <code>host</code> or <code>dedicated</code> .
* </p>
* <p>
* Affinity, hostID, and tenancy are not required parameters, but at
* least one of them must be specified in the request. Affinity and
* tenancy can be modified in the same request, but tenancy can only be
* modified on instances that are stopped.
* </p>
*
* @param modifyInstancePlacementRequest Container for the necessary
* parameters to execute the ModifyInstancePlacement service method on
* AmazonEC2.
*
* @return The response from the ModifyInstancePlacement service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ModifyInstancePlacementResult modifyInstancePlacement(ModifyInstancePlacementRequest modifyInstancePlacementRequest) {
ExecutionContext executionContext = createExecutionContext(modifyInstancePlacementRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ModifyInstancePlacementRequest> request = null;
Response<ModifyInstancePlacementResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ModifyInstancePlacementRequestMarshaller().marshall(modifyInstancePlacementRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ModifyInstancePlacementResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Cancels a bundling operation for an instance store-backed Windows
* instance.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(cancelBundleTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CancelBundleTaskRequest> request = null;
Response<CancelBundleTaskResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CancelBundleTaskRequestMarshaller().marshall(cancelBundleTaskRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CancelBundleTaskResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an Internet gateway for use with a VPC. After creating the
* Internet gateway, you attach it to a VPC using AttachInternetGateway.
* </p>
* <p>
* For more information about your VPC and Internet gateway, see the
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/"> Amazon Virtual Private Cloud User Guide </a>
* .
* </p>
*
* @param createInternetGatewayRequest Container for the necessary
* parameters to execute the CreateInternetGateway service method on
* AmazonEC2.
*
* @return The response from the CreateInternetGateway service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateInternetGatewayResult createInternetGateway(CreateInternetGatewayRequest createInternetGatewayRequest) {
ExecutionContext executionContext = createExecutionContext(createInternetGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateInternetGatewayRequest> request = null;
Response<CreateInternetGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateInternetGatewayRequestMarshaller().marshall(createInternetGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateInternetGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a Spot fleet request.
* </p>
* <p>
* You can submit a single request that includes multiple launch
* specifications that vary by instance type, AMI, Availability Zone, or
* subnet.
* </p>
* <p>
* By default, the Spot fleet requests Spot instances in the Spot pool
* where the price per unit is the lowest. Each launch specification can
* include its own instance weighting that reflects the value of the
* instance type to your application workload.
* </p>
* <p>
* Alternatively, you can specify that the Spot fleet distribute the
* target capacity across the Spot pools included in its launch
* specifications. By ensuring that the Spot instances in your Spot fleet
* are in different Spot pools, you can improve the availability of your
* fleet.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html"> Spot Fleet Requests </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param requestSpotFleetRequest Container for the necessary parameters
* to execute the RequestSpotFleet service method on AmazonEC2.
*
* @return The response from the RequestSpotFleet service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public RequestSpotFleetResult requestSpotFleet(RequestSpotFleetRequest requestSpotFleetRequest) {
ExecutionContext executionContext = createExecutionContext(requestSpotFleetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RequestSpotFleetRequest> request = null;
Response<RequestSpotFleetResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RequestSpotFleetRequestMarshaller().marshall(requestSpotFleetRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RequestSpotFleetResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of the Reserved Instances that you purchased.
* </p>
* <p>
* For more information about Reserved Instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html"> Reserved Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeReservedInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeReservedInstancesRequest> request = null;
Response<DescribeReservedInstancesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeReservedInstancesRequestMarshaller().marshall(describeReservedInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeReservedInstancesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* [EC2-VPC only] Describes the VPCs on the other side of a VPC peering
* connection that are referencing the security groups you've specified
* in this request.
* </p>
*
* @param describeSecurityGroupReferencesRequest Container for the
* necessary parameters to execute the DescribeSecurityGroupReferences
* service method on AmazonEC2.
*
* @return The response from the DescribeSecurityGroupReferences service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeSecurityGroupReferencesResult describeSecurityGroupReferences(DescribeSecurityGroupReferencesRequest describeSecurityGroupReferencesRequest) {
ExecutionContext executionContext = createExecutionContext(describeSecurityGroupReferencesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSecurityGroupReferencesRequest> request = null;
Response<DescribeSecurityGroupReferencesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSecurityGroupReferencesRequestMarshaller().marshall(describeSecurityGroupReferencesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSecurityGroupReferencesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes your import snapshot tasks.
* </p>
*
* @param describeImportSnapshotTasksRequest Container for the necessary
* parameters to execute the DescribeImportSnapshotTasks service method
* on AmazonEC2.
*
* @return The response from the DescribeImportSnapshotTasks service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeImportSnapshotTasksResult describeImportSnapshotTasks(DescribeImportSnapshotTasksRequest describeImportSnapshotTasksRequest) {
ExecutionContext executionContext = createExecutionContext(describeImportSnapshotTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeImportSnapshotTasksRequest> request = null;
Response<DescribeImportSnapshotTasksResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeImportSnapshotTasksRequestMarshaller().marshall(describeImportSnapshotTasksRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeImportSnapshotTasksResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Enables a VPC for ClassicLink. You can then link EC2-Classic
* instances to your ClassicLink-enabled VPC to allow communication over
* private IP addresses. You cannot enable your VPC for ClassicLink if
* any of your VPC's route tables have existing routes for address ranges
* within the <code>10.0.0.0/8</code> IP address range, excluding local
* routes for VPCs in the <code>10.0.0.0/16</code> and
* <code>10.1.0.0/16</code> IP address ranges. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @param enableVpcClassicLinkRequest Container for the necessary
* parameters to execute the EnableVpcClassicLink service method on
* AmazonEC2.
*
* @return The response from the EnableVpcClassicLink service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public EnableVpcClassicLinkResult enableVpcClassicLink(EnableVpcClassicLinkRequest enableVpcClassicLinkRequest) {
ExecutionContext executionContext = createExecutionContext(enableVpcClassicLinkRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<EnableVpcClassicLinkRequest> request = null;
Response<EnableVpcClassicLinkResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new EnableVpcClassicLinkRequestMarshaller().marshall(enableVpcClassicLinkRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new EnableVpcClassicLinkResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified VPC. You must detach or delete all gateways and
* resources that are associated with the VPC before you can delete it.
* For example, you must terminate all instances running in the VPC,
* delete all security groups associated with the VPC (except the default
* one), delete all route tables associated with the VPC (except the
* default one), and so on.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteVpcRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpcRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpcRequestMarshaller().marshall(deleteVpcRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more flow logs. To view the information in your flow
* logs (the log streams for the network interfaces), you must use the
* CloudWatch Logs console or the CloudWatch Logs API.
* </p>
*
* @param describeFlowLogsRequest Container for the necessary parameters
* to execute the DescribeFlowLogs service method on AmazonEC2.
*
* @return The response from the DescribeFlowLogs service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeFlowLogsResult describeFlowLogs(DescribeFlowLogsRequest describeFlowLogsRequest) {
ExecutionContext executionContext = createExecutionContext(describeFlowLogsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeFlowLogsRequest> request = null;
Response<DescribeFlowLogsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeFlowLogsRequestMarshaller().marshall(describeFlowLogsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeFlowLogsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a subnet in an existing VPC.
* </p>
* <p>
* When you create each subnet, you provide the VPC ID and the CIDR
* block you want for the subnet. After you create a subnet, you can't
* change its CIDR block. The subnet's CIDR block can be the same as the
* VPC's CIDR block (assuming you want only a single subnet in the VPC),
* or a subset of the VPC's CIDR block. If you create more than one
* subnet in a VPC, the subnets' CIDR blocks must not overlap. The
* smallest subnet (and VPC) you can create uses a /28 netmask (16 IP
* addresses), and the largest uses a /16 netmask (65,536 IP addresses).
* </p>
* <p>
* <b>IMPORTANT:</b> AWS reserves both the first four and the last IP
* address in each subnet's CIDR block. They're not available for use.
* </p>
* <p>
* 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.
* </p>
* <p>
* If you launch an instance in a VPC using an Amazon EBS-backed AMI,
* the IP address doesn't change if you stop and restart the instance
* (unlike a similar instance launched outside a VPC, which gets a new IP
* address when restarted). It's therefore possible to have a subnet with
* no running instances (they're all stopped), but no remaining IP
* addresses available.
* </p>
* <p>
* For more information about subnets, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html"> Your VPC and Subnets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createSubnetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateSubnetRequest> request = null;
Response<CreateSubnetResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateSubnetRequestMarshaller().marshall(createSubnetRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateSubnetResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Resets a network interface attribute. You can specify only one
* attribute at a time.
* </p>
*
* @param resetNetworkInterfaceAttributeRequest Container for the
* necessary parameters to execute the ResetNetworkInterfaceAttribute
* 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 resetNetworkInterfaceAttribute(ResetNetworkInterfaceAttributeRequest resetNetworkInterfaceAttributeRequest) {
ExecutionContext executionContext = createExecutionContext(resetNetworkInterfaceAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ResetNetworkInterfaceAttributeRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ResetNetworkInterfaceAttributeRequestMarshaller().marshall(resetNetworkInterfaceAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* When you no longer want to use a Dedicated host it can be released.
* On-Demand billing is stopped and the host goes into
* <code>released</code> state. The host ID of Dedicated hosts that have
* been released can no longer be specified in another request, e.g.,
* ModifyHosts. You must stop or terminate all instances on a host before
* it can be released.
* </p>
* <p>
* When Dedicated hosts are released, it make take some time for them to
* stop counting toward your limit and you may receive capacity errors
* when trying to allocate new Dedicated hosts. Try waiting a few
* minutes, and then try again.
* </p>
* <p>
* Released hosts will still appear in a DescribeHosts response.
* </p>
*
* @param releaseHostsRequest Container for the necessary parameters to
* execute the ReleaseHosts service method on AmazonEC2.
*
* @return The response from the ReleaseHosts service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ReleaseHostsResult releaseHosts(ReleaseHostsRequest releaseHostsRequest) {
ExecutionContext executionContext = createExecutionContext(releaseHostsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReleaseHostsRequest> request = null;
Response<ReleaseHostsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReleaseHostsRequestMarshaller().marshall(releaseHostsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ReleaseHostsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Submits feedback about the status of an instance. The instance must
* be in the <code>running</code> state. If your experience with the
* instance differs from the instance status returned by
* DescribeInstanceStatus, use ReportInstanceStatus to report your
* experience with the instance. Amazon EC2 collects this information to
* improve the accuracy of status checks.
* </p>
* <p>
* Use of this action does not change the value returned by
* DescribeInstanceStatus.
* </p>
*
* @param reportInstanceStatusRequest Container for the necessary
* parameters to execute the ReportInstanceStatus 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 reportInstanceStatus(ReportInstanceStatusRequest reportInstanceStatusRequest) {
ExecutionContext executionContext = createExecutionContext(reportInstanceStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReportInstanceStatusRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReportInstanceStatusRequestMarshaller().marshall(reportInstanceStatusRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of the your NAT gateways.
* </p>
*
* @param describeNatGatewaysRequest Container for the necessary
* parameters to execute the DescribeNatGateways service method on
* AmazonEC2.
*
* @return The response from the DescribeNatGateways service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNatGatewaysResult describeNatGateways(DescribeNatGatewaysRequest describeNatGatewaysRequest) {
ExecutionContext executionContext = createExecutionContext(describeNatGatewaysRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeNatGatewaysRequest> request = null;
Response<DescribeNatGatewaysResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeNatGatewaysRequestMarshaller().marshall(describeNatGatewaysRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeNatGatewaysResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your VPC peering connections.
* </p>
*
* @param describeVpcPeeringConnectionsRequest Container for the
* necessary parameters to execute the DescribeVpcPeeringConnections
* service method on AmazonEC2.
*
* @return The response from the DescribeVpcPeeringConnections service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcPeeringConnectionsResult describeVpcPeeringConnections(DescribeVpcPeeringConnectionsRequest describeVpcPeeringConnectionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcPeeringConnectionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcPeeringConnectionsRequest> request = null;
Response<DescribeVpcPeeringConnectionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcPeeringConnectionsRequestMarshaller().marshall(describeVpcPeeringConnectionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcPeeringConnectionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an EBS volume that can be attached to an instance in the same
* Availability Zone. The volume is created in the regional endpoint that
* you send the HTTP request to. For more information see
* <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html"> Regions and Endpoints </a>
* .
* </p>
* <p>
* You can create a new empty volume or restore a volume from an EBS
* snapshot. Any AWS Marketplace product codes from the snapshot are
* propagated to the volume.
* </p>
* <p>
* You can create encrypted volumes with the <code>Encrypted</code>
* parameter. Encrypted volumes may only be attached to instances that
* support Amazon EBS encryption. Volumes that are created from encrypted
* snapshots are also automatically encrypted. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html"> Amazon EBS Encryption </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html"> Creating or Restoring an Amazon EBS Volume </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createVolumeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVolumeRequest> request = null;
Response<CreateVolumeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVolumeRequestMarshaller().marshall(createVolumeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVolumeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an import volume task using metadata from the specified disk
* image. After importing the image, you then upload it using the
* <code>ec2-import-volume</code> command in the Amazon EC2 command-line
* interface (CLI) tools. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html"> Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For information about the import manifest referenced by this API
* action, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html"> VM Import Manifest </a>
* .
* </p>
*
* @param importVolumeRequest Container for the necessary parameters to
* execute the ImportVolume service method on AmazonEC2.
*
* @return The response from the ImportVolume service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportVolumeResult importVolume(ImportVolumeRequest importVolumeRequest) {
ExecutionContext executionContext = createExecutionContext(importVolumeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ImportVolumeRequest> request = null;
Response<ImportVolumeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ImportVolumeRequestMarshaller().marshall(importVolumeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new ImportVolumeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Exports a running or stopped instance to an S3 bucket.
* </p>
* <p>
* For information about the supported operating systems, image formats,
* and known limitations for the types of instances you can export, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html"> Exporting EC2 Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @param createInstanceExportTaskRequest Container for the necessary
* parameters to execute the CreateInstanceExportTask service method on
* AmazonEC2.
*
* @return The response from the CreateInstanceExportTask service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateInstanceExportTaskResult createInstanceExportTask(CreateInstanceExportTaskRequest createInstanceExportTaskRequest) {
ExecutionContext executionContext = createExecutionContext(createInstanceExportTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateInstanceExportTaskRequest> request = null;
Response<CreateInstanceExportTaskResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateInstanceExportTaskRequestMarshaller().marshall(createInstanceExportTaskRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateInstanceExportTaskResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified key pair, by removing the public key from
* Amazon EC2.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteKeyPairRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteKeyPairRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteKeyPairRequestMarshaller().marshall(deleteKeyPairRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your Elastic IP addresses.
* </p>
* <p>
* An Elastic IP address is for use in either the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeAddressesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeAddressesRequest> request = null;
Response<DescribeAddressesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeAddressesRequestMarshaller().marshall(describeAddressesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeAddressesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified route from the specified route table.
* </p>
*
* @param deleteRouteRequest Container for the necessary parameters to
* execute the DeleteRoute 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 deleteRoute(DeleteRouteRequest deleteRouteRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRouteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteRouteRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteRouteRequestMarshaller().marshall(deleteRouteRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Removes one or more ingress rules from a security group. The values
* that you specify in the revoke request (for example, ports) must match
* the existing rule's values for the rule to be removed.
* </p>
* <p>
* Each rule consists of the protocol and the CIDR range or source
* security group. For the TCP and UDP protocols, you must also specify
* the destination port or range of ports. For the ICMP protocol, you
* must also specify the ICMP type and code.
* </p>
* <p>
* Rule changes are propagated to instances within the security group as
* quickly as possible. However, a small delay might occur.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(revokeSecurityGroupIngressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RevokeSecurityGroupIngressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RevokeSecurityGroupIngressRequestMarshaller().marshall(revokeSecurityGroupIngressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deletes one or more specified VPC endpoints. Deleting the endpoint
* also deletes the endpoint routes in the route tables that were
* associated with the endpoint.
* </p>
*
* @param deleteVpcEndpointsRequest Container for the necessary
* parameters to execute the DeleteVpcEndpoints service method on
* AmazonEC2.
*
* @return The response from the DeleteVpcEndpoints service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DeleteVpcEndpointsResult deleteVpcEndpoints(DeleteVpcEndpointsRequest deleteVpcEndpointsRequest) {
ExecutionContext executionContext = createExecutionContext(deleteVpcEndpointsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpcEndpointsRequest> request = null;
Response<DeleteVpcEndpointsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpcEndpointsRequestMarshaller().marshall(deleteVpcEndpointsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DeleteVpcEndpointsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Releases the specified Elastic IP address.
* </p>
* <p>
* After releasing an Elastic IP address, it is released to the IP
* address pool and might be unavailable to you. Be sure to update your
* DNS records and any servers or devices that communicate with the
* address. If you attempt to release an Elastic IP address that you
* already released, you'll get an <code>AuthFailure</code> error if the
* address is already allocated to another AWS account.
* </p>
* <p>
* [EC2-Classic, default VPC] Releasing an Elastic IP address
* automatically disassociates it from any instance that it's associated
* with. To disassociate an Elastic IP address without releasing it, use
* DisassociateAddress.
* </p>
* <p>
* [Nondefault VPC] You must use DisassociateAddress to disassociate the
* Elastic IP address before you try to release it. Otherwise, Amazon EC2
* returns an error ( <code>InvalidIPAddress.InUse</code> ).
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(releaseAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<ReleaseAddressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new ReleaseAddressRequestMarshaller().marshall(releaseAddressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes the data feed for Spot instances. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html"> Spot Instance Data Feed </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSpotDatafeedSubscriptionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSpotDatafeedSubscriptionRequest> request = null;
Response<DescribeSpotDatafeedSubscriptionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSpotDatafeedSubscriptionRequestMarshaller().marshall(describeSpotDatafeedSubscriptionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSpotDatafeedSubscriptionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes one or more flow logs.
* </p>
*
* @param deleteFlowLogsRequest Container for the necessary parameters to
* execute the DeleteFlowLogs service method on AmazonEC2.
*
* @return The response from the DeleteFlowLogs service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DeleteFlowLogsResult deleteFlowLogs(DeleteFlowLogsRequest deleteFlowLogsRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFlowLogsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteFlowLogsRequest> request = null;
Response<DeleteFlowLogsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteFlowLogsRequestMarshaller().marshall(deleteFlowLogsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DeleteFlowLogsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more regions that are currently available to you.
* </p>
* <p>
* For a list of the regions supported by Amazon EC2, see
* <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region"> Regions and Endpoints </a>
* .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeRegionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeRegionsRequest> request = null;
Response<DescribeRegionsResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeRegionsRequestMarshaller().marshall(describeRegionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeRegionsResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified ingress or egress entry (rule) from the
* specified network ACL.
* </p>
*
* @param deleteNetworkAclEntryRequest Container for the necessary
* parameters to execute the DeleteNetworkAclEntry 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 deleteNetworkAclEntry(DeleteNetworkAclEntryRequest deleteNetworkAclEntryRequest) {
ExecutionContext executionContext = createExecutionContext(deleteNetworkAclEntryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteNetworkAclEntryRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteNetworkAclEntryRequestMarshaller().marshall(deleteNetworkAclEntryRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your conversion tasks. For more information,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html"> Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For information about the import manifest referenced by this API
* action, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html"> VM Import Manifest </a>
* .
* </p>
*
* @param describeConversionTasksRequest Container for the necessary
* parameters to execute the DescribeConversionTasks service method on
* AmazonEC2.
*
* @return The response from the DescribeConversionTasks service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeConversionTasksResult describeConversionTasks(DescribeConversionTasksRequest describeConversionTasksRequest) {
ExecutionContext executionContext = createExecutionContext(describeConversionTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeConversionTasksRequest> request = null;
Response<DescribeConversionTasksResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeConversionTasksRequestMarshaller().marshall(describeConversionTasksRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeConversionTasksResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Purchases a Reserved Instance for use with your account. With
* Reserved Instances, you obtain a capacity reservation for a certain
* instance configuration over a specified period of time and pay a lower
* hourly rate compared to On-Demand instance pricing.
* </p>
* <p>
* Use DescribeReservedInstancesOfferings to get a list of Reserved
* Instance offerings that match your specifications. After you've
* purchased a Reserved Instance, you can check for your new Reserved
* Instance with DescribeReservedInstances.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html"> Reserved Instances </a> and <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(purchaseReservedInstancesOfferingRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<PurchaseReservedInstancesOfferingRequest> request = null;
Response<PurchaseReservedInstancesOfferingResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new PurchaseReservedInstancesOfferingRequestMarshaller().marshall(purchaseReservedInstancesOfferingRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new PurchaseReservedInstancesOfferingResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Disassociates an Elastic IP address from the instance or network
* interface it's associated with.
* </p>
* <p>
* An Elastic IP address is for use in either the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* This is an idempotent operation. If you perform the operation more
* than once, Amazon EC2 doesn't return an error.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(disassociateAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DisassociateAddressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DisassociateAddressRequestMarshaller().marshall(disassociateAddressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deletes a security group.
* </p>
* <p>
* If you attempt to delete a security group that is associated with an
* instance, or is referenced by another security group, the operation
* fails with <code>InvalidGroup.InUse</code> in EC2-Classic or
* <code>DependencyViolation</code> in EC2-VPC.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteSecurityGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteSecurityGroupRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteSecurityGroupRequestMarshaller().marshall(deleteSecurityGroupRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Requests a reboot of one or more instances. This operation is
* asynchronous; it only queues a request to reboot the specified
* instances. The operation succeeds if the instances are valid and
* belong to you. Requests to reboot terminated instances are ignored.
* </p>
* <p>
* If an instance does not cleanly shut down within four minutes, Amazon
* EC2 performs a hard reboot.
* </p>
* <p>
* For more information about troubleshooting, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html"> Getting Console Output and Rebooting Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(rebootInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RebootInstancesRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RebootInstancesRequestMarshaller().marshall(rebootInstancesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Rejects a VPC peering connection request. The VPC peering connection
* must be in the <code>pending-acceptance</code> state. Use the
* DescribeVpcPeeringConnections request to view your outstanding VPC
* peering connection requests. To delete an active VPC peering
* connection, or to delete a VPC peering connection request that you
* initiated, use DeleteVpcPeeringConnection.
* </p>
*
* @param rejectVpcPeeringConnectionRequest Container for the necessary
* parameters to execute the RejectVpcPeeringConnection service method on
* AmazonEC2.
*
* @return The response from the RejectVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public RejectVpcPeeringConnectionResult rejectVpcPeeringConnection(RejectVpcPeeringConnectionRequest rejectVpcPeeringConnectionRequest) {
ExecutionContext executionContext = createExecutionContext(rejectVpcPeeringConnectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RejectVpcPeeringConnectionRequest> request = null;
Response<RejectVpcPeeringConnectionResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RejectVpcPeeringConnectionRequestMarshaller().marshall(rejectVpcPeeringConnectionRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new RejectVpcPeeringConnectionResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes all supported AWS services that can be specified when
* creating a VPC endpoint.
* </p>
*
* @param describeVpcEndpointServicesRequest Container for the necessary
* parameters to execute the DescribeVpcEndpointServices service method
* on AmazonEC2.
*
* @return The response from the DescribeVpcEndpointServices service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcEndpointServicesResult describeVpcEndpointServices(DescribeVpcEndpointServicesRequest describeVpcEndpointServicesRequest) {
ExecutionContext executionContext = createExecutionContext(describeVpcEndpointServicesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeVpcEndpointServicesRequest> request = null;
Response<DescribeVpcEndpointServicesResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeVpcEndpointServicesRequestMarshaller().marshall(describeVpcEndpointServicesRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeVpcEndpointServicesResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Adds or overwrites one or more tags for the specified Amazon EC2
* resource or resources. Each resource can have a maximum of 10 tags.
* Each tag consists of a key and optional value. Tag keys must be unique
* per resource.
* </p>
* <p>
* For more information about tags, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging Your Resources </a> in the <i>Amazon Elastic Compute Cloud User Guide</i> . For more information about creating IAM policies that control users' access to resources based on tags, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html"> Supported Resource-Level Permissions for Amazon EC2 API Actions </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createTagsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateTagsRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateTagsRequestMarshaller().marshall(createTagsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Associates a set of DHCP options (that you've previously created)
* with the specified VPC, or associates no DHCP options with the VPC.
* </p>
* <p>
* After you associate the options with the VPC, any existing instances
* and all new instances that you launch in that VPC use the options. You
* don't need to restart or relaunch the instances. They automatically
* pick up the changes within a few hours, depending on how frequently
* the instance renews its DHCP lease. You can explicitly renew the lease
* using the operating system on the instance.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html"> DHCP Options Sets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(associateDhcpOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AssociateDhcpOptionsRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AssociateDhcpOptionsRequestMarshaller().marshall(associateDhcpOptionsRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Creates a static route associated with a VPN connection between an
* existing virtual private gateway and a VPN customer gateway. The
* static route allows traffic to be routed from the virtual private
* gateway to the VPN customer gateway.
* </p>
* <p>
* For more information about VPN connections, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param createVpnConnectionRouteRequest Container for the necessary
* parameters to execute the CreateVpnConnectionRoute 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 createVpnConnectionRoute(CreateVpnConnectionRouteRequest createVpnConnectionRouteRequest) {
ExecutionContext executionContext = createExecutionContext(createVpnConnectionRouteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpnConnectionRouteRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpnConnectionRouteRequestMarshaller().marshall(createVpnConnectionRouteRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Unlinks (detaches) a linked EC2-Classic instance from a VPC. After
* the instance has been unlinked, the VPC security groups are no longer
* associated with it. An instance is automatically unlinked from a VPC
* when it's stopped.
* </p>
*
* @param detachClassicLinkVpcRequest Container for the necessary
* parameters to execute the DetachClassicLinkVpc service method on
* AmazonEC2.
*
* @return The response from the DetachClassicLinkVpc service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DetachClassicLinkVpcResult detachClassicLinkVpc(DetachClassicLinkVpcRequest detachClassicLinkVpcRequest) {
ExecutionContext executionContext = createExecutionContext(detachClassicLinkVpcRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DetachClassicLinkVpcRequest> request = null;
Response<DetachClassicLinkVpcResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DetachClassicLinkVpcRequestMarshaller().marshall(detachClassicLinkVpcRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DetachClassicLinkVpcResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Provides information to AWS about your VPN customer gateway device.
* The customer gateway is the appliance at your end of the VPN
* connection. (The device on the AWS side of the VPN connection is the
* virtual private gateway.) You must provide the Internet-routable IP
* address of the customer gateway's external interface. The IP address
* must be static and may be behind a device performing network address
* translation (NAT).
* </p>
* <p>
* For devices that use Border Gateway Protocol (BGP), you can also
* provide the device's BGP Autonomous System Number (ASN). You can use
* an existing ASN assigned to your network. If you don't have an ASN
* already, you can use a private ASN (in the 64512 - 65534 range).
* </p>
* <p>
* <b>NOTE:</b> Amazon EC2 supports all 2-byte ASN numbers in the range
* of 1 - 65534, with the exception of 7224, which is reserved in the
* us-east-1 region, and 9059, which is reserved in the eu-west-1 region.
* </p>
* <p>
* For more information about VPN customer gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* <b>IMPORTANT:</b> You cannot create more than one customer gateway
* with the same VPN type, IP address, and BGP ASN parameter values. If
* you run an identical request more than one time, the first request
* creates the customer gateway, and subsequent requests return
* information about the existing customer gateway. The subsequent
* requests do not create new customer gateway resources.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createCustomerGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateCustomerGatewayRequest> request = null;
Response<CreateCustomerGatewayResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateCustomerGatewayRequestMarshaller().marshall(createCustomerGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateCustomerGatewayResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the specified attribute of the specified snapshot. You can
* specify only one attribute at a time.
* </p>
* <p>
* For more information about EBS snapshots, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html"> Amazon EBS Snapshots </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeSnapshotAttributeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeSnapshotAttributeRequest> request = null;
Response<DescribeSnapshotAttributeResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeSnapshotAttributeRequestMarshaller().marshall(describeSnapshotAttributeRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeSnapshotAttributeResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes one or more of your VPN customer gateways.
* </p>
* <p>
* For more information about VPN customer gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeCustomerGatewaysRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeCustomerGatewaysRequest> request = null;
Response<DescribeCustomerGatewaysResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeCustomerGatewaysRequestMarshaller().marshall(describeCustomerGatewaysRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeCustomerGatewaysResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Moves an Elastic IP address from the EC2-Classic platform to the
* EC2-VPC platform. The Elastic IP address must be allocated to your
* account for more than 24 hours, and it must not be associated with an
* instance. After the Elastic IP address is moved, it is no longer
* available for use in the EC2-Classic platform, unless you move it back
* using the RestoreAddressToClassic request. You cannot move an Elastic
* IP address that was originally allocated for use in the EC2-VPC
* platform to the EC2-Classic platform.
* </p>
*
* @param moveAddressToVpcRequest Container for the necessary parameters
* to execute the MoveAddressToVpc service method on AmazonEC2.
*
* @return The response from the MoveAddressToVpc service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public MoveAddressToVpcResult moveAddressToVpc(MoveAddressToVpcRequest moveAddressToVpcRequest) {
ExecutionContext executionContext = createExecutionContext(moveAddressToVpcRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<MoveAddressToVpcRequest> request = null;
Response<MoveAddressToVpcResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new MoveAddressToVpcRequestMarshaller().marshall(moveAddressToVpcRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new MoveAddressToVpcResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified static route associated with a VPN connection
* between an existing virtual private gateway and a VPN customer
* gateway. The static route allows traffic to be routed from the virtual
* private gateway to the VPN customer gateway.
* </p>
*
* @param deleteVpnConnectionRouteRequest Container for the necessary
* parameters to execute the DeleteVpnConnectionRoute 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 deleteVpnConnectionRoute(DeleteVpnConnectionRouteRequest deleteVpnConnectionRouteRequest) {
ExecutionContext executionContext = createExecutionContext(deleteVpnConnectionRouteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpnConnectionRouteRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpnConnectionRouteRequestMarshaller().marshall(deleteVpnConnectionRouteRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Deletes the specified virtual private gateway. We recommend that
* before you delete a virtual private gateway, you detach it from the
* VPC and delete the VPN connection. Note that you don't need to delete
* the virtual private gateway if you plan to delete and recreate the VPN
* connection between your VPC and your network.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(deleteVpnGatewayRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DeleteVpnGatewayRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DeleteVpnGatewayRequestMarshaller().marshall(deleteVpnGatewayRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* [EC2-VPC only] Removes one or more egress rules from a security group
* for EC2-VPC. This action doesn't apply to security groups for use in
* EC2-Classic. The values that you specify in the revoke request (for
* example, ports) must match the existing rule's values for the rule to
* be revoked.
* </p>
* <p>
* Each rule consists of the protocol and the CIDR range or source
* security group. For the TCP and UDP protocols, you must also specify
* the destination port or range of ports. For the ICMP protocol, you
* must also specify the ICMP type and code.
* </p>
* <p>
* Rule changes are propagated to instances within the security group as
* quickly as possible. However, a small delay might occur.
* </p>
*
* @param revokeSecurityGroupEgressRequest Container for the necessary
* parameters to execute the RevokeSecurityGroupEgress 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 revokeSecurityGroupEgress(RevokeSecurityGroupEgressRequest revokeSecurityGroupEgressRequest) {
ExecutionContext executionContext = createExecutionContext(revokeSecurityGroupEgressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<RevokeSecurityGroupEgressRequest> request = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new RevokeSecurityGroupEgressRequestMarshaller().marshall(revokeSecurityGroupEgressRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
invoke(request, null, executionContext);
} finally {
endClientExecution(awsRequestMetrics, request, null);
}
}
/**
* <p>
* Describes one or more of your bundling tasks.
* </p>
* <p>
* <b>NOTE:</b> Completed bundle tasks are listed for only a limited
* time. If your bundle task is no longer in the list, you can still
* register an AMI from it. Just use RegisterImage with the Amazon S3
* bucket name and image manifest name you provided to the bundle task.
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(describeBundleTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<DescribeBundleTasksRequest> request = null;
Response<DescribeBundleTasksResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new DescribeBundleTasksRequestMarshaller().marshall(describeBundleTasksRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new DescribeBundleTasksResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a VPC with the specified CIDR block.
* </p>
* <p>
* The smallest VPC you can create uses a /28 netmask (16 IP addresses),
* and the largest uses a /16 netmask (65,536 IP addresses). To help you
* decide how big to make your VPC, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html"> Your VPC and Subnets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* By default, each instance you launch in the VPC has the default DHCP
* options, which includes only a default DNS server that we provide
* (AmazonProvidedDNS). For more information about DHCP options, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html"> DHCP Options Sets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
* <p>
* You can specify the instance tenancy value for the VPC when you
* create it. You can't change this value for the VPC after you create
* it. For more information, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html.html"> Dedicated Instances </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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) {
ExecutionContext executionContext = createExecutionContext(createVpcRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<CreateVpcRequest> request = null;
Response<CreateVpcResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new CreateVpcRequestMarshaller().marshall(createVpcRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new CreateVpcResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Associates a subnet with a route table. The subnet and route table
* must be in the same VPC. This association causes traffic originating
* from the subnet to be routed according to the routes in the route
* table. The action returns an association ID, which you need in order
* to disassociate the route table from the subnet later. A route table
* can be associated with multiple subnets.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @param associateRouteTableRequest Container for the necessary
* parameters to execute the AssociateRouteTable service method on
* AmazonEC2.
*
* @return The response from the AssociateRouteTable service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AssociateRouteTableResult associateRouteTable(AssociateRouteTableRequest associateRouteTableRequest) {
ExecutionContext executionContext = createExecutionContext(associateRouteTableRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
Request<AssociateRouteTableRequest> request = null;
Response<AssociateRouteTableResult> response = null;
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
try {
request = new AssociateRouteTableRequestMarshaller().marshall(associateRouteTableRequest);
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
response = invoke(request, new AssociateRouteTableResultStaxUnmarshaller(), executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Imports a disk into an EBS snapshot.
* </p>
*
* @return The response from the ImportSnapshot service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportSnapshotResult importSnapshot() throws AmazonServiceException, AmazonClientException {
return importSnapshot(new ImportSnapshotRequest());
}
/**
* <p>
* Describes the modifications made to your Reserved Instances. If no
* parameter is specified, information about all your Reserved Instances
* modification requests is returned. If a modification ID is specified,
* only information about the specific modification is returned.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html"> Modifying Reserved Instances </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @return The response from the DescribeReservedInstancesModifications
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeReservedInstancesModificationsResult describeReservedInstancesModifications() throws AmazonServiceException, AmazonClientException {
return describeReservedInstancesModifications(new DescribeReservedInstancesModificationsRequest());
}
/**
* <p>
* Describes one or more of the Availability Zones that are available to
* you. The results include zones only for the region you're currently
* using. If there is an event impacting an Availability Zone, you can
* use this request to view the state and any provided message for that
* Availability Zone.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html"> Regions and Availability Zones </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Disables ClassicLink DNS support for a VPC. If disabled, DNS
* hostnames resolve to public IP addresses when addressed between a
* linked EC2-Classic instance and instances in the VPC to which it's
* linked. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @return The response from the DisableVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DisableVpcClassicLinkDnsSupportResult disableVpcClassicLinkDnsSupport() throws AmazonServiceException, AmazonClientException {
return disableVpcClassicLinkDnsSupport(new DisableVpcClassicLinkDnsSupportRequest());
}
/**
* <p>
* Describes the ClassicLink status of one or more VPCs.
* </p>
*
* @return The response from the DescribeVpcClassicLink service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcClassicLinkResult describeVpcClassicLink() throws AmazonServiceException, AmazonClientException {
return describeVpcClassicLink(new DescribeVpcClassicLinkRequest());
}
/**
* <p>
* Describes one or more of your instances.
* </p>
* <p>
* If you specify one or more instance IDs, Amazon EC2 returns
* information for those instances. If you do not specify instance IDs,
* Amazon EC2 returns information for all relevant instances. If you
* specify an instance ID that is not valid, an error is returned. If you
* specify an instance that you do not own, it is not included in the
* returned results.
* </p>
* <p>
* Recently terminated instances might appear in the returned results.
* This interval is usually less than one hour.
* </p>
*
* @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());
}
/**
* <p>
* Import single or multi-volume disk images or EBS snapshots into an
* Amazon Machine Image (AMI).
* </p>
*
* @return The response from the ImportImage service method, as returned
* by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public ImportImageResult importImage() throws AmazonServiceException, AmazonClientException {
return importImage(new ImportImageRequest());
}
/**
* <p>
* Describes your Elastic IP addresses that are being moved to the
* EC2-VPC platform, or that are being restored to the EC2-Classic
* platform. This request does not return information about any other
* Elastic IP addresses in your account.
* </p>
*
* @return The response from the DescribeMovingAddresses service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeMovingAddressesResult describeMovingAddresses() throws AmazonServiceException, AmazonClientException {
return describeMovingAddresses(new DescribeMovingAddressesRequest());
}
/**
* <p>
* Describes one or more of your VPC endpoints.
* </p>
*
* @return The response from the DescribeVpcEndpoints service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcEndpointsResult describeVpcEndpoints() throws AmazonServiceException, AmazonClientException {
return describeVpcEndpoints(new DescribeVpcEndpointsRequest());
}
/**
* <p>
* Describes one or more of your linked EC2-Classic instances. This
* request only returns information about EC2-Classic instances linked to
* a VPC through ClassicLink; you cannot use this request to return
* information about other instances.
* </p>
*
* @return The response from the DescribeClassicLinkInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeClassicLinkInstancesResult describeClassicLinkInstances() throws AmazonServiceException, AmazonClientException {
return describeClassicLinkInstances(new DescribeClassicLinkInstancesRequest());
}
/**
* <p>
* Describes Reserved Instance offerings that are available for
* purchase. With Reserved Instances, you purchase the right to launch
* instances for a period of time. During that time period, you do not
* receive insufficient capacity errors, and you pay a lower usage rate
* than the rate charged for On-Demand instances for the actual time
* used.
* </p>
* <p>
* If you have listed your own Reserved Instances for sale in the
* Reserved Instance Marketplace, they will be excluded from these
* results. This is to ensure that you do not purchase your own Reserved
* Instances.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of the images (AMIs, AKIs, and ARIs) available
* to you. Images available to you include public images, private images
* that you own, and private images owned by other AWS accounts but for
* which you have explicit launch permissions.
* </p>
* <p>
* <b>NOTE:</b> Deregistered images are included in the returned results
* for an unspecified interval after deregistration.
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of your VPCs.
* </p>
*
* @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());
}
/**
* <p>
* Describes the Spot price history. The prices returned are listed in
* chronological order, from the oldest to the most recent, for up to the
* past 90 days. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html"> Spot Instance Pricing History </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* When you specify a start and end time, this operation returns the
* prices of the instance types within the time range that you specified
* and the time when the price changed. The price is valid within the
* time period that you specified; the response merely indicates the last
* time that the price changed.
* </p>
*
* @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());
}
/**
* <p>
* Displays details about an import virtual machine or import snapshot
* tasks that are already created.
* </p>
*
* @return The response from the DescribeImportImageTasks service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeImportImageTasksResult describeImportImageTasks() throws AmazonServiceException, AmazonClientException {
return describeImportImageTasks(new DescribeImportImageTasksRequest());
}
/**
* <p>
* Describes one or more of your Internet gateways.
* </p>
*
* @return The response from the DescribeInternetGateways service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeInternetGatewaysResult describeInternetGateways() throws AmazonServiceException, AmazonClientException {
return describeInternetGateways(new DescribeInternetGatewaysRequest());
}
/**
* <p>
* Describes one or more of your Dedicated hosts.
* </p>
* <p>
* The results describe only the Dedicated hosts in the region you're
* currently using. All listed instances consume capacity on your
* Dedicated host. Dedicated hosts that have recently been released will
* be listed with the state <code>released</code> .
* </p>
*
* @return The response from the DescribeHosts service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeHostsResult describeHosts() throws AmazonServiceException, AmazonClientException {
return describeHosts(new DescribeHostsRequest());
}
/**
* <p>
* Describes one or more of your subnets.
* </p>
* <p>
* For more information about subnets, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html"> Your VPC and Subnets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of your route tables.
* </p>
* <p>
* Each subnet in your VPC must be associated with a route table. If a
* subnet is not explicitly associated with any route table, it is
* implicitly associated with the main route table. This command does not
* return the subnet ID for implicit associations.
* </p>
* <p>
* For more information about route tables, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html"> Route Tables </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @return The response from the DescribeRouteTables service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeRouteTablesResult describeRouteTables() throws AmazonServiceException, AmazonClientException {
return describeRouteTables(new DescribeRouteTablesRequest());
}
/**
* <p>
* Describes the status of one or more instances. By default, only
* running instances are described, unless specified otherwise.
* </p>
* <p>
* Instance status includes the following components:
* </p>
*
* <ul>
* <li> <p>
* <b>Status checks</b> - Amazon EC2 performs status checks on running
* EC2 instances to identify hardware and software issues. For more
* information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html"> Status Checks for Your Instances </a> and <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html"> Troubleshooting Instances with Failed Status Checks </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
* <li> <p>
* <b>Scheduled events</b> - Amazon EC2 can schedule events (such as
* reboot, stop, or terminate) for your instances related to hardware
* issues, software updates, or system maintenance. For more information,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html"> Scheduled Events for Your Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
* <li> <p>
* <b>Instance state</b> - You can manage your instances from the moment
* you launch them through their termination. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html"> Instance Lifecycle </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* </li>
*
* </ul>
*
* @return The response from the DescribeInstanceStatus service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeInstanceStatusResult describeInstanceStatus() throws AmazonServiceException, AmazonClientException {
return describeInstanceStatus(new DescribeInstanceStatusRequest());
}
/**
* <p>
* Describes one or more of your export tasks.
* </p>
*
* @return The response from the DescribeExportTasks service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeExportTasksResult describeExportTasks() throws AmazonServiceException, AmazonClientException {
return describeExportTasks(new DescribeExportTasksRequest());
}
/**
* <p>
* Describes one or more of the tags for your EC2 resources.
* </p>
* <p>
* For more information about tags, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging Your Resources </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes your account's Reserved Instance listings in the Reserved
* Instance Marketplace.
* </p>
* <p>
* The Reserved Instance Marketplace matches sellers who want to resell
* Reserved Instance capacity that they no longer need with buyers who
* want to purchase additional capacity. Reserved Instances bought and
* sold through the Reserved Instance Marketplace work like any other
* Reserved Instances.
* </p>
* <p>
* As a seller, you choose to list some or all of your Reserved
* Instances, and you specify the upfront price to receive for them. Your
* Reserved Instances are then listed in the Reserved Instance
* Marketplace and are available for purchase.
* </p>
* <p>
* As a buyer, you specify the configuration of the Reserved Instance to
* purchase, and the Marketplace matches what you're searching for with
* what's available. The Marketplace first sells the lowest priced
* Reserved Instances to you, and continues to sell available Reserved
* Instance listings to you until your demand is met. You are charged
* based on the total price of all of the listings that you purchase.
* </p>
* <p>
* For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html"> Reserved Instance Marketplace </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @return The response from the DescribeReservedInstancesListings
* service method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeReservedInstancesListingsResult describeReservedInstancesListings() throws AmazonServiceException, AmazonClientException {
return describeReservedInstancesListings(new DescribeReservedInstancesListingsRequest());
}
/**
* <p>
* Describes one or more of your placement groups. For more information
* about placement groups and cluster instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html"> Cluster Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes your Spot fleet requests.
* </p>
*
* @return The response from the DescribeSpotFleetRequests service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeSpotFleetRequestsResult describeSpotFleetRequests() throws AmazonServiceException, AmazonClientException {
return describeSpotFleetRequests(new DescribeSpotFleetRequestsRequest());
}
/**
* <p>
* Describes one or more of your network ACLs.
* </p>
* <p>
* For more information about network ACLs, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html"> Network ACLs </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @return The response from the DescribeNetworkAcls service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNetworkAclsResult describeNetworkAcls() throws AmazonServiceException, AmazonClientException {
return describeNetworkAcls(new DescribeNetworkAclsRequest());
}
/**
* <p>
* Describes the Spot instance requests that belong to your account.
* Spot instances are instances that Amazon EC2 launches when the bid
* price that you specify exceeds the current Spot price. Amazon EC2
* periodically sets the Spot price based on available Spot instance
* capacity and current Spot instance requests. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html"> Spot Instance Requests </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* You can use <code>DescribeSpotInstanceRequests</code> to find a
* running Spot instance by examining the response. If the status of the
* Spot instance is <code>fulfilled</code> , the instance ID appears in
* the response and contains the identifier of the instance.
* Alternatively, you can use DescribeInstances with a filter to look for
* instances where the instance lifecycle is <code>spot</code> .
* </p>
*
* @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());
}
/**
* <p>
* Acquires an Elastic IP address.
* </p>
* <p>
* An Elastic IP address is for use either in the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of your Scheduled Instances.
* </p>
*
* @return The response from the DescribeScheduledInstances service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeScheduledInstancesResult describeScheduledInstances() throws AmazonServiceException, AmazonClientException {
return describeScheduledInstances(new DescribeScheduledInstancesRequest());
}
/**
* <p>
* Describes one or more of your security groups.
* </p>
* <p>
* A security group is for use with instances either in the EC2-Classic
* platform or in a specific VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html"> Amazon EC2 Security Groups </a> in the <i>Amazon Elastic Compute Cloud User Guide</i> and <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html"> Security Groups for Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes the ID format settings for your resources on a per-region
* basis, for example, to view which resource types are enabled for
* longer IDs. This request only returns information about resource types
* whose ID formats can be modified; it does not return information about
* other resource types.
* </p>
* <p>
* The following resource types support longer IDs:
* <code>instance</code> | <code>reservation</code> |
* <code>snapshot</code> | <code>volume</code> .
* </p>
* <p>
* These settings apply to the IAM user who makes the request; they do
* not apply to the entire AWS account. By default, an IAM user defaults
* to the same settings as the root user, unless they explicitly override
* the settings by running the ModifyIdFormat command. Resources created
* with longer IDs are visible to all IAM users, regardless of these
* settings and provided that they have permission to use the relevant
* <code>Describe</code> command for the resource type.
* </p>
*
* @return The response from the DescribeIdFormat service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeIdFormatResult describeIdFormat() throws AmazonServiceException, AmazonClientException {
return describeIdFormat(new DescribeIdFormatRequest());
}
/**
* <p>
* Enables a VPC to support DNS hostname resolution for ClassicLink. If
* enabled, the DNS hostname of a linked EC2-Classic instance resolves to
* its private IP address when addressed from an instance in the VPC to
* which it's linked. Similarly, the DNS hostname of an instance in a VPC
* resolves to its private IP address when addressed from a linked
* EC2-Classic instance. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @return The response from the EnableVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public EnableVpcClassicLinkDnsSupportResult enableVpcClassicLinkDnsSupport() throws AmazonServiceException, AmazonClientException {
return enableVpcClassicLinkDnsSupport(new EnableVpcClassicLinkDnsSupportRequest());
}
/**
* <p>
* Describes one or more of your network interfaces.
* </p>
*
* @return The response from the DescribeNetworkInterfaces service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNetworkInterfacesResult describeNetworkInterfaces() throws AmazonServiceException, AmazonClientException {
return describeNetworkInterfaces(new DescribeNetworkInterfacesRequest());
}
/**
* <p>
* Describes one or more of your key pairs.
* </p>
* <p>
* For more information about key pairs, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html"> Key Pairs </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes attributes of your AWS account. The following are the
* supported account attributes:
* </p>
*
* <ul>
* <li> <p>
* <code>supported-platforms</code> : Indicates whether your account can
* launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.
* </p>
* </li>
* <li> <p>
* <code>default-vpc</code> : The ID of the default VPC for your
* account, or <code>none</code> .
* </p>
* </li>
* <li> <p>
* <code>max-instances</code> : The maximum number of On-Demand
* instances that you can run.
* </p>
* </li>
* <li> <p>
* <code>vpc-max-security-groups-per-interface</code> : The maximum
* number of security groups that you can assign to a network interface.
* </p>
* </li>
* <li> <p>
* <code>max-elastic-ips</code> : The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-Classic.
* </p>
* </li>
* <li> <p>
* <code>vpc-max-elastic-ips</code> : The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-VPC.
* </p>
* </li>
*
* </ul>
*
* @return The response from the DescribeAccountAttributes service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeAccountAttributesResult describeAccountAttributes() throws AmazonServiceException, AmazonClientException {
return describeAccountAttributes(new DescribeAccountAttributesRequest());
}
/**
* <p>
* Describes one or more of your VPN connections.
* </p>
* <p>
* For more information about VPN connections, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Cancels an in-process import virtual machine or import snapshot task.
* </p>
*
* @return The response from the CancelImportTask service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CancelImportTaskResult cancelImportTask() throws AmazonServiceException, AmazonClientException {
return cancelImportTask(new CancelImportTaskRequest());
}
/**
* <p>
* Describes one or more of your virtual private gateways.
* </p>
* <p>
* For more information about virtual private gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding an IPsec Hardware VPN to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes the ClassicLink DNS support status of one or more VPCs. If
* enabled, the DNS hostname of a linked EC2-Classic instance resolves to
* its private IP address when addressed from an instance in the VPC to
* which it's linked. Similarly, the DNS hostname of an instance in a VPC
* resolves to its private IP address when addressed from a linked
* EC2-Classic instance. For more information about ClassicLink, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"> ClassicLink </a>
* in the Amazon Elastic Compute Cloud User Guide.
* </p>
*
* @return The response from the DescribeVpcClassicLinkDnsSupport service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcClassicLinkDnsSupportResult describeVpcClassicLinkDnsSupport() throws AmazonServiceException, AmazonClientException {
return describeVpcClassicLinkDnsSupport(new DescribeVpcClassicLinkDnsSupportRequest());
}
/**
* <p>
* Requests a VPC peering connection between two VPCs: a requester VPC
* that you own and a peer VPC with which to create the connection. The
* peer VPC can belong to another AWS account. The requester VPC and peer
* VPC cannot have overlapping CIDR blocks.
* </p>
* <p>
* The owner of the peer VPC must accept the peering request to activate
* the peering connection. The VPC peering connection request expires
* after 7 days, after which it cannot be accepted or rejected.
* </p>
* <p>
* A <code>CreateVpcPeeringConnection</code> request between VPCs with
* overlapping CIDR blocks results in the VPC peering connection having a
* status of <code>failed</code> .
* </p>
*
* @return The response from the CreateVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateVpcPeeringConnectionResult createVpcPeeringConnection() throws AmazonServiceException, AmazonClientException {
return createVpcPeeringConnection(new CreateVpcPeeringConnectionRequest());
}
/**
* <p>
* Describes one or more of your DHCP options sets.
* </p>
* <p>
* For more information about DHCP options sets, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html"> DHCP Options Sets </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Accept a VPC peering connection request. To accept a request, the VPC
* peering connection must be in the <code>pending-acceptance</code>
* state, and you must be the owner of the peer VPC. Use the
* <code>DescribeVpcPeeringConnections</code> request to view your
* outstanding VPC peering connection requests.
* </p>
*
* @return The response from the AcceptVpcPeeringConnection service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public AcceptVpcPeeringConnectionResult acceptVpcPeeringConnection() throws AmazonServiceException, AmazonClientException {
return acceptVpcPeeringConnection(new AcceptVpcPeeringConnectionRequest());
}
/**
* <p>
* Describes the specified EBS volumes.
* </p>
* <p>
* If you are describing a long list of volumes, you can paginate the
* output to make the list more manageable. The <code>MaxResults</code>
* parameter sets the maximum number of results returned in a single
* page. If the list of results exceeds your <code>MaxResults</code>
* value, then that number of results is returned along with a
* <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeVolumes</code> request to retrieve the remaining
* results.
* </p>
* <p>
* For more information about EBS volumes, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html"> Amazon EBS Volumes </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of the EBS snapshots available to you.
* Available snapshots include public snapshots available for any AWS
* account to launch, private snapshots that you own, and private
* snapshots owned by another AWS account but for which you've been given
* explicit create volume permissions.
* </p>
* <p>
* The create volume permissions fall into the following categories:
* </p>
*
* <ul>
* <li> <p>
* <i>public</i> : The owner of the snapshot granted create volume
* permissions for the snapshot to the <code>all</code> group. All AWS
* accounts have create volume permissions for these snapshots.
* </p>
* </li>
* <li> <p>
* <i>explicit</i> : The owner of the snapshot granted create volume
* permissions to a specific AWS account.
* </p>
* </li>
* <li> <p>
* <i>implicit</i> : An AWS account has implicit create volume
* permissions for all snapshots it owns.
* </p>
* </li>
*
* </ul>
* <p>
* The list of snapshots returned can be modified by specifying snapshot
* IDs, snapshot owners, or AWS accounts with create volume permissions.
* If no options are specified, Amazon EC2 returns all snapshots for
* which you have create volume permissions.
* </p>
* <p>
* If you specify one or more snapshot IDs, only snapshots that have the
* specified IDs are returned. If you specify an invalid snapshot ID, an
* error is returned. If you specify a snapshot ID for which you do not
* have access, it is not included in the returned results.
* </p>
* <p>
* If you specify one or more snapshot owners, only snapshots from the
* specified owners and for which you have access are returned. The
* results can include the AWS account IDs of the specified owners,
* <code>amazon</code> for snapshots owned by Amazon, or
* <code>self</code> for snapshots that you own.
* </p>
* <p>
* If you specify a list of restorable users, only snapshots with create
* snapshot permissions for those users are returned. You can specify AWS
* account IDs (if you own the snapshots), <code>self</code> for
* snapshots for which you own or have explicit permissions, or
* <code>all</code> for public snapshots.
* </p>
* <p>
* If you are describing a long list of snapshots, you can paginate the
* output to make the list more manageable. The <code>MaxResults</code>
* parameter sets the maximum number of results returned in a single
* page. If the list of results exceeds your <code>MaxResults</code>
* value, then that number of results is returned along with a
* <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeSnapshots</code> request to retrieve the remaining
* results.
* </p>
* <p>
* For more information about EBS snapshots, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html"> Amazon EBS Snapshots </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes available AWS services in a prefix list format, which
* includes the prefix list name and prefix list ID of the service and
* the IP address range for the service. A prefix list ID is required for
* creating an outbound security group rule that allows traffic from a
* VPC to access an AWS service through a VPC endpoint.
* </p>
*
* @return The response from the DescribePrefixLists service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribePrefixListsResult describePrefixLists() throws AmazonServiceException, AmazonClientException {
return describePrefixLists(new DescribePrefixListsRequest());
}
/**
* <p>
* Describes the status of the specified volumes. Volume status provides
* the result of the checks performed on your volumes to determine events
* that can impair the performance of your volumes. The performance of a
* volume can be affected if an issue occurs on the volume's underlying
* host. If the volume's underlying host experiences a power outage or
* system issue, after the system is restored, there could be data
* inconsistencies on the volume. Volume events notify you if this
* occurs. Volume actions notify you if any action needs to be taken in
* response to the event.
* </p>
* <p>
* The <code>DescribeVolumeStatus</code> operation provides the
* following information about the specified volumes:
* </p>
* <p>
* <i>Status</i> : Reflects the current status of the volume. The
* possible values are <code>ok</code> , <code>impaired</code> ,
* <code>warning</code> , or <code>insufficient-data</code> . If all
* checks pass, the overall status of the volume is <code>ok</code> . If
* the check fails, the overall status is <code>impaired</code> . If the
* status is <code>insufficient-data</code> , then the checks may still
* be taking place on your volume at the time. We recommend that you
* retry the request. For more information on volume status, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html"> Monitoring the Status of Your Volumes </a>
* .
* </p>
* <p>
* <i>Events</i> : Reflect the cause of a volume status and may require
* you to take action. For example, if your volume returns an
* <code>impaired</code> status, then the volume event might be
* <code>potential-data-inconsistency</code> . This means that your
* volume has been affected by an issue with the underlying host, has all
* I/O operations disabled, and may have inconsistent data.
* </p>
* <p>
* <i>Actions</i> : Reflect the actions you may have to take in response
* to an event. For example, if the status of the volume is
* <code>impaired</code> and the volume event shows
* <code>potential-data-inconsistency</code> , then the action shows
* <code>enable-volume-io</code> . This means that you may want to enable
* the I/O operations for the volume by calling the EnableVolumeIO action
* and then check the volume for data consistency.
* </p>
* <p>
* <b>NOTE:</b> Volume status is based on the volume status checks, and
* does not reflect the volume state. Therefore, volume status does not
* indicate volumes in the error state (for example, when a volume is
* incapable of accepting I/O.)
* </p>
*
* @return The response from the DescribeVolumeStatus service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVolumeStatusResult describeVolumeStatus() throws AmazonServiceException, AmazonClientException {
return describeVolumeStatus(new DescribeVolumeStatusRequest());
}
/**
* <p>
* Deletes the data feed for Spot instances.
* </p>
*
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* 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());
}
/**
* <p>
* Creates an Internet gateway for use with a VPC. After creating the
* Internet gateway, you attach it to a VPC using AttachInternetGateway.
* </p>
* <p>
* For more information about your VPC and Internet gateway, see the
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/"> Amazon Virtual Private Cloud User Guide </a>
* .
* </p>
*
* @return The response from the CreateInternetGateway service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public CreateInternetGatewayResult createInternetGateway() throws AmazonServiceException, AmazonClientException {
return createInternetGateway(new CreateInternetGatewayRequest());
}
/**
* <p>
* Describes one or more of the Reserved Instances that you purchased.
* </p>
* <p>
* For more information about Reserved Instances, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html"> Reserved Instances </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes your import snapshot tasks.
* </p>
*
* @return The response from the DescribeImportSnapshotTasks service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeImportSnapshotTasksResult describeImportSnapshotTasks() throws AmazonServiceException, AmazonClientException {
return describeImportSnapshotTasks(new DescribeImportSnapshotTasksRequest());
}
/**
* <p>
* Describes one or more flow logs. To view the information in your flow
* logs (the log streams for the network interfaces), you must use the
* CloudWatch Logs console or the CloudWatch Logs API.
* </p>
*
* @return The response from the DescribeFlowLogs service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeFlowLogsResult describeFlowLogs() throws AmazonServiceException, AmazonClientException {
return describeFlowLogs(new DescribeFlowLogsRequest());
}
/**
* <p>
* Describes one or more of the your NAT gateways.
* </p>
*
* @return The response from the DescribeNatGateways service method, as
* returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeNatGatewaysResult describeNatGateways() throws AmazonServiceException, AmazonClientException {
return describeNatGateways(new DescribeNatGatewaysRequest());
}
/**
* <p>
* Describes one or more of your VPC peering connections.
* </p>
*
* @return The response from the DescribeVpcPeeringConnections service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcPeeringConnectionsResult describeVpcPeeringConnections() throws AmazonServiceException, AmazonClientException {
return describeVpcPeeringConnections(new DescribeVpcPeeringConnectionsRequest());
}
/**
* <p>
* Describes one or more of your Elastic IP addresses.
* </p>
* <p>
* An Elastic IP address is for use in either the EC2-Classic platform
* or in a VPC. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html"> Elastic IP Addresses </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Removes one or more ingress rules from a security group. The values
* that you specify in the revoke request (for example, ports) must match
* the existing rule's values for the rule to be removed.
* </p>
* <p>
* Each rule consists of the protocol and the CIDR range or source
* security group. For the TCP and UDP protocols, you must also specify
* the destination port or range of ports. For the ICMP protocol, you
* must also specify the ICMP type and code.
* </p>
* <p>
* Rule changes are propagated to instances within the security group as
* quickly as possible. However, a small delay might occur.
* </p>
*
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* 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() throws AmazonServiceException, AmazonClientException {
revokeSecurityGroupIngress(new RevokeSecurityGroupIngressRequest());
}
/**
* <p>
* Describes the data feed for Spot instances. For more information, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html"> Spot Instance Data Feed </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more regions that are currently available to you.
* </p>
* <p>
* For a list of the regions supported by Amazon EC2, see
* <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region"> Regions and Endpoints </a>
* .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of your conversion tasks. For more information,
* see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html"> Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 </a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i> .
* </p>
* <p>
* For information about the import manifest referenced by this API
* action, see
* <a href="http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html"> VM Import Manifest </a>
* .
* </p>
*
* @return The response from the DescribeConversionTasks service method,
* as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeConversionTasksResult describeConversionTasks() throws AmazonServiceException, AmazonClientException {
return describeConversionTasks(new DescribeConversionTasksRequest());
}
/**
* <p>
* Describes all supported AWS services that can be specified when
* creating a VPC endpoint.
* </p>
*
* @return The response from the DescribeVpcEndpointServices service
* method, as returned by AmazonEC2.
*
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client while
* attempting to make the request or handle the response. For example
* if a network connection is not available.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server side issue.
*/
public DescribeVpcEndpointServicesResult describeVpcEndpointServices() throws AmazonServiceException, AmazonClientException {
return describeVpcEndpointServices(new DescribeVpcEndpointServicesRequest());
}
/**
* <p>
* Describes one or more of your VPN customer gateways.
* </p>
* <p>
* For more information about VPN customer gateways, see
* <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html"> Adding a Hardware Virtual Private Gateway to Your VPC </a>
* in the <i>Amazon Virtual Private Cloud User Guide</i> .
* </p>
*
* @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());
}
/**
* <p>
* Describes one or more of your bundling tasks.
* </p>
* <p>
* <b>NOTE:</b> Completed bundle tasks are listed for only a limited
* time. If your bundle task is no longer in the list, you can still
* register an AMI from it. Just use RegisterImage with the Amazon S3
* bucket name and image manifest name you provided to the bundle task.
* </p>
*
* @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());
}
/**
* Checks whether you have the required permissions for the provided
* AmazonEC2 operation, without actually running it. The returned
* DryRunResult object contains the information of whether the dry-run was
* successful. This method will throw exception when the service response
* does not clearly indicate whether you have the permission.
*
* @param request
* The request object for any AmazonEC2 operation supported with
* dry-run.
*
* @return A DryRunResult object that contains the information of whether
* the dry-run was successful.
*
* @throws AmazonClientException
* If any internal errors are encountered inside the client
* while attempting to make the request or handle the response.
* Or if the service response does not clearly indicate whether
* you have the permission.
* @throws AmazonServiceException
* If an error response is returned by AmazonEC2 indicating
* either a problem with the data in the request, or a server
* side issue.
*/
public <X extends AmazonWebServiceRequest> DryRunResult<X> dryRun(DryRunSupportedRequest<X> request) throws AmazonServiceException, AmazonClientException {
Request<X> dryRunRequest = request.getDryRunRequest();
ExecutionContext executionContext = createExecutionContext(dryRunRequest);
try {
invoke(dryRunRequest, null, executionContext);
throw new AmazonClientException("Unrecognized service response for the dry-run request.");
} catch (AmazonServiceException ase) {
if (ase.getErrorCode().equals("DryRunOperation") && ase.getStatusCode() == 412) {
return new DryRunResult<X>(true, request, ase.getMessage(), ase);
} else if (ase.getErrorCode().equals("UnauthorizedOperation") && ase.getStatusCode() == 403) {
return new DryRunResult<X>(false, request, ase.getMessage(), ase);
}
throw new AmazonClientException("Unrecognized service response for the dry-run request.", ase);
}
}
/**
* 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.
* <p>
* 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.
*
* @deprecated ResponseMetadata cache can hold up to 50 requests and
* responses in memory and will cause memory issue. This method
* now always returns null.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
private <X, Y extends AmazonWebServiceRequest> Response<X> invoke(Request<Y> request,
Unmarshaller<X, StaxUnmarshallerContext> unmarshaller,
ExecutionContext executionContext)
{
request.setEndpoint(endpoint);
request.setTimeOffset(timeOffset);
AmazonWebServiceRequest originalRequest = request.getOriginalRequest();
AWSCredentials credentials = awsCredentialsProvider.getCredentials();
if (originalRequest.getRequestCredentials() != null) {
credentials = originalRequest.getRequestCredentials();
}
executionContext.setCredentials(credentials);
StaxResponseHandler<X> responseHandler = new StaxResponseHandler<X>(unmarshaller);
DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallers);
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
}