http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticBlockStoreApi.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticBlockStoreApi.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticBlockStoreApi.java
deleted file mode 100644
index 69c92bf..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticBlockStoreApi.java
+++ /dev/null
@@ -1,602 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License 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 org.jclouds.ec2.features;
-
-import static org.jclouds.aws.reference.FormParameters.ACTION;
-
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.ec2.EC2Fallbacks.VoidOnVolumeAvailable;
-import org.jclouds.ec2.binders.BindFiltersToIndexedFormParams;
-import org.jclouds.ec2.binders.BindUserGroupsToIndexedFormParams;
-import org.jclouds.ec2.binders.BindUserIdsToIndexedFormParams;
-import org.jclouds.ec2.binders.BindVolumeIdsToIndexedFormParams;
-import org.jclouds.ec2.domain.Attachment;
-import org.jclouds.ec2.domain.Permission;
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.ec2.domain.Volume;
-import org.jclouds.ec2.options.CreateSnapshotOptions;
-import org.jclouds.ec2.options.DescribeSnapshotsOptions;
-import org.jclouds.ec2.options.DetachVolumeOptions;
-import org.jclouds.ec2.xml.AttachmentHandler;
-import org.jclouds.ec2.xml.CreateVolumeResponseHandler;
-import org.jclouds.ec2.xml.DescribeSnapshotsResponseHandler;
-import org.jclouds.ec2.xml.DescribeVolumesResponseHandler;
-import org.jclouds.ec2.xml.PermissionHandler;
-import org.jclouds.ec2.xml.SnapshotHandler;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.location.functions.ZoneToEndpoint;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.VirtualHost;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Provides access to EC2 Elastic Block Store services via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- */
-@RequestFilters(FormSigner.class)
-@VirtualHost
-public interface ElasticBlockStoreApi {
-
-   /**
-    * Creates a new Amazon EBS volume to which any Amazon EC2 instance can 
attach within the same
-    * Availability Zone. For more information about Amazon EBS, go to the 
Amazon Elastic Compute
-    * Cloud Developer Guide or Amazon Elastic Compute Cloud User Guide.
-    * 
-    * @param availabilityZone
-    *           An Amazon EBS volume must be located within the same 
Availability Zone as the
-    *           instance to which it attaches.
-    * @param snapshotId
-    *           The snapshot from which to create the new volume.
-    * 
-    * @see #describeVolumesInRegion
-    * @see #deleteVolumeInRegion
-    * @see #attachVolumeInRegion
-    * @see #detachVolumeInRegion
-    * @see AvailabilityZoneAndRegionApi#describeAvailabilityZonesInRegion
-    * 
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html";
-    *      />
-    */
-   @Named("CreateVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateVolume")
-   @XMLResponseParser(CreateVolumeResponseHandler.class)
-   Volume createVolumeFromSnapshotInAvailabilityZone(
-            @EndpointParam(parser = ZoneToEndpoint.class) 
@FormParam("AvailabilityZone") String availabilityZone,
-            @FormParam("SnapshotId") String snapshotId);
-
-   /**
-    * Creates a new Amazon EBS volume to which any Amazon EC2 instance can 
attach within the same
-    * Availability Zone. This is overloaded {@link 
#createVolumeFromSnapshotInAvailabilityZone},
-    * which creates a volume with a specific size.
-    * For more information about Amazon EBS, go to the Amazon Elastic Compute
-    * Cloud Developer Guide or Amazon Elastic Compute Cloud User Guide.
-    *
-    * @param availabilityZone
-    *           An Amazon EBS volume must be located within the same 
Availability Zone as the
-    *           instance to which it attaches.
-    * @param size
-    *           Size of volume to be created
-    * @param snapshotId
-    *           The snapshot from which to create the new volume.
-    *
-    * @see #createVolumeFromSnapshotInAvailabilityZone
-    * @see #describeVolumesInRegion
-    * @see #deleteVolumeInRegion
-    * @see #attachVolumeInRegion
-    * @see #detachVolumeInRegion
-    * @see AvailabilityZoneAndRegionApi#describeAvailabilityZonesInRegion
-    *
-    *
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html";
-    *      />
-    */
-   @Named("CreateVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateVolume")
-   @XMLResponseParser(CreateVolumeResponseHandler.class)
-   Volume createVolumeFromSnapshotInAvailabilityZone(
-            @EndpointParam(parser = ZoneToEndpoint.class) 
@FormParam("AvailabilityZone") String availabilityZone,
-            @FormParam("Size") int size, @FormParam("SnapshotId") String 
snapshotId);
-
-   /**
-    * Creates a new Amazon EBS volume to which any Amazon EC2 instance can 
attach within the same
-    * Availability Zone. For more information about Amazon EBS, go to the 
Amazon Elastic Compute
-    * Cloud Developer Guide or Amazon Elastic Compute Cloud User Guide.
-    * 
-    * @param availabilityZone
-    *           An Amazon EBS volume must be located within the same 
Availability Zone as the
-    *           instance to which it attaches.
-    * @param size
-    *           The size of the volume, in GiBs (1-1024). Required if you are 
not creating a volume
-    *           from a snapshot.
-    * 
-    * 
-    * @see #describeVolumesInRegion
-    * @see #deleteVolumeInRegion
-    * @see #attachVolumeInRegion
-    * @see #detachVolumeInRegion
-    * @see AvailabilityZoneAndRegionApi#describeAvailabilityZonesInRegion
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVolume.html";
-    *      />
-    */
-   @Named("CreateVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateVolume")
-   @XMLResponseParser(CreateVolumeResponseHandler.class)
-   Volume createVolumeInAvailabilityZone(
-            @EndpointParam(parser = ZoneToEndpoint.class) 
@FormParam("AvailabilityZone") String availabilityZone,
-            @FormParam("Size") int size);
-
-   /**
-    * Describes the specified Amazon EBS volumes that you own. If you do not 
specify one or more
-    * volume IDs, Amazon EBS describes all volumes that you own. For more 
information about Amazon
-    * EBS, go to the Amazon Elastic Compute Cloud Developer Guide or Amazon 
Elastic Compute Cloud
-    * User Guide.
-    *
-    * @param region
-    *           region where the volume is defined
-    * @param volumeIds
-    *           The ID of the volume to list. Defaults to describe all volumes 
that you own.
-    *
-    * @see #createSnapshotInRegion
-    * @see #describeSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html";
-    *      />
-    */
-   @POST
-   @Named("DescribeVolumes")
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeVolumes")
-   @XMLResponseParser(DescribeVolumesResponseHandler.class)
-   Set<Volume> describeVolumesInRegion(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindVolumeIdsToIndexedFormParams.class) String... 
volumeIds);
-
-   /**
-    * Describes the specified Amazon EBS volumes that you own and match the 
given filters. If you
-    * do not specify any filters, Amazon EBS describes all volumes that you 
own. For more
-    * information about Amazon EBS, go to the Amazon Elastic Compute Cloud 
Developer Guide or
-    * Amazon Elastic Compute Cloud User Guide.
-    *
-    * @param region
-    *           region where the volume is defined
-    * @param filter
-    *           Multimap of filter key/values
-    *
-    * @see #createSnapshotInRegion
-    * @see #describeSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html";
-    *      />
-    */
-   @POST
-   @Named("DescribeVolumes")
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeVolumes")
-   @XMLResponseParser(DescribeVolumesResponseHandler.class)
-   Set<Volume> describeVolumesInRegionWithFilter(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindFiltersToIndexedFormParams.class) Multimap<String, 
String> filter);
-
-   /**
-    * Deletes an Amazon EBS volume that you own. For more information about 
Amazon EBS, go to the
-    * Amazon Elastic Compute Cloud Developer Guide or Amazon Elastic Compute 
Cloud User Guide.
-    * 
-    * @param region
-    *           region where the volume is defined
-    * @param volumeId
-    *           The ID of the volume to delete. The volume remains in the 
deleting state for several
-    *           minutes after entering this command.
-    * 
-    * @see #describeVolumesInRegion
-    * @see #createVolumeInRegion
-    * @see #attachVolumeInRegion
-    * @see #detachVolumeInRegion
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteVolume.html";
-    *      />
-    */
-   @Named("DeleteVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DeleteVolume")
-   void deleteVolumeInRegion(@EndpointParam(parser = 
RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-            @FormParam("VolumeId") String volumeId);
-
-   /**
-    * Attaches an Amazon EBS volume to a running instance and exposes it as 
the specified device.
-    * <p/>
-    * 
-    * <h3>Note</h3>
-    * 
-    * Windows instances currently support devices xvda through xvdp. Devices 
xvda and xvdb are
-    * reserved by the operating system, xvdc is assigned to drive C:\, and, 
depending on the
-    * instance type, devices xvdd through xvde might be reserved by the 
instance stores. Any device
-    * that is not reserved can be attached to an Amazon EBS volume. For a list 
of devices that are
-    * reserved by the instance stores, go to the Amazon Elastic Compute Cloud 
Developer Guide or
-    * Amazon Elastic Compute Cloud User Guide.
-    * 
-    * @param region
-    *           region where the volume is defined
-    * @param volumeId
-    *           The ID of the volume to delete. The volume remains in the 
deleting state for several
-    *           minutes after entering this command.
-    * @param force
-    *           Forces detachment if the previous detachment attempt did not 
occur cleanly (logging
-    *           into an instance, unmounting the volume, and detaching 
normally). This option can
-    *           lead to data loss or a corrupted file system. Use this option 
only as a last resort
-    *           to detach a volume from a failed instance. The instance will 
not have an opportunity
-    *           to flush file system caches nor file system meta data. If you 
use this option, you
-    *           must perform file system check and repair procedures.
-    * 
-    * @param options
-    *           options like force()
-    * 
-    * @see #describeVolumesInRegion
-    * @see #createVolumeInRegion
-    * @see #attachVolumeInRegion
-    * @see #deleteVolumeInRegion
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DetachVolume.html";
-    *      />
-    */
-   @Named("DetachVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DetachVolume")
-   @Fallback(VoidOnVolumeAvailable.class)
-   void detachVolumeInRegion(@EndpointParam(parser = 
RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-            @FormParam("VolumeId") String volumeId, @FormParam("Force") 
boolean force, DetachVolumeOptions... options);
-
-   /**
-    * Attaches an Amazon EBS volume to a running instance and exposes it as 
the specified device.
-    * 
-    * <h3>Note</h3> Windows instances currently support devices xvda through 
xvdp. Devices xvda and
-    * xvdb are reserved by the operating system, xvdc is assigned to drive 
C:\, and, depending on
-    * the instance type, devices xvdd through xvde might be reserved by the 
instance stores. Any
-    * device that is not reserved can be attached to an Amazon EBS volume. For 
a list of devices
-    * that are reserved by the instance stores, go to the Amazon Elastic 
Compute Cloud Developer
-    * Guide or Amazon Elastic Compute Cloud User Guide.
-    * 
-    * @param region
-    *           region where the volume is defined
-    * @param volumeId
-    *           The ID of the Amazon EBS volume. The volume and instance must 
be within the same
-    *           Availability Zone and the instance must be running.
-    * @param instanceId
-    *           The ID of the instance to which the volume attaches. The 
volume and instance must be
-    *           within the same Availability Zone and the instance must be 
running.
-    * @param device
-    *           Specifies how the device is exposed to the instance (e.g., 
/dev/sdh).
-    * 
-    * @see #describeVolumesInRegion
-    * @see #createVolumeInRegion
-    * @see #detachVolumeInRegion
-    * @see #deleteVolumeInRegion
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-AttachVolume.html";
-    *      />
-    */
-   @Named("AttachVolume")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "AttachVolume")
-   @XMLResponseParser(AttachmentHandler.class)
-   Attachment attachVolumeInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("VolumeId") String volumeId, @FormParam("InstanceId") 
String instanceId,
-            @FormParam("Device") String device);
-
-   /**
-    * Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. 
You can use snapshots
-    * for backups, to make identical copies of instance devices, and to save 
data before shutting
-    * down an instance. For more information about Amazon EBS, go to the 
Amazon Elastic Compute
-    * Cloud Developer Guide or Amazon Elastic Compute Cloud User Guide.
-    * <p/>
-    * When taking a snapshot of a file system, we recommend unmounting it 
first. This ensures the
-    * file system metadata is in a consistent state, that the 'mounted 
indicator' is cleared, and
-    * that all applications using that file system are stopped and in a 
consistent state. Some file
-    * systems, such as xfs, can freeze and unfreeze activity so a snapshot can 
be made without
-    * unmounting.
-    * <p/>
-    * For Linux/UNIX, enter the following command from the command line.
-    * 
-    * <pre>
-    * umount - d / dev / sdh
-    * </pre>
-    * <p/>
-    * For Windows, open Disk Management, right-click the volume to unmount, 
and select Change Drive
-    * Letter and Path. Then, select the mount point to remove and click Remove.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param volumeId
-    *           The ID of the Amazon EBS volume of which to take a snapshot.
-    * @param options
-    *           options like passing a description.
-    * @return the Snapshot in progress
-    * 
-    * @see #describeSnapshotsInRegion
-    * @see #deleteSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateSnapshot.html";
-    *      />
-    */
-   @Named("CreateSnapshot")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateSnapshot")
-   @XMLResponseParser(SnapshotHandler.class)
-   Snapshot createSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("VolumeId") String volumeId, CreateSnapshotOptions... 
options);
-
-   /**
-    * Returns information about Amazon EBS snapshots available to the user. 
Information returned
-    * includes volume ID, status, start time, progress, owner ID, volume size, 
and description.
-    * Snapshots available to the user include public snapshots available for 
any user to
-    * createVolume, private snapshots owned by the user making the request, 
and private snapshots
-    * owned by other users for which the user granted explicit create volume 
permissions.
-    * <p/>
-    * The create volume permissions fall into 3 categories:
-    * <p/>
-    * <table>
-    * <tr>
-    * <td>Permission</td>
-    * <td>Description</td>
-    * </tr>
-    * <tr>
-    * <td>public</td>
-    * <td>The owner of the snapshot granted create volume permissions for the 
snapshot to the all
-    * group. All users have create volume permissions for these snapshots.</td>
-    * </tr>
-    * <tr>
-    * <td>explicit</td>
-    * <td>The owner of the snapshot granted create volume permissions to a 
specific user.</td>
-    * </tr>
-    * <tr>
-    * <td>implicit</td>
-    * <td>A user has implicit create volume permissions for all snapshots he 
or she owns.</td>
-    * </tr>
-    * </table>
-    * <p/>
-    * 
-    * The list of snapshots returned can be modified by specifying snapshot 
IDs, snapshot owners, or
-    * users with create volume permissions. If no options are specified, 
Amazon EC2 returns all
-    * snapshots for which the user has create volume permissions.
-    * <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, a fault is returned. If 
you specify a
-    * snapshot ID for which you do not have access, it will not be included in 
the returned results.
-    * <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, amazon for snapshots owned by Amazon or self for 
snapshots that you own.
-    * <p/>
-    * If you specify a list of restorable users, only users that have create 
snapshot permissions
-    * for the snapshots are returned. You can specify AWS Account IDs (if you 
own the snapshot(s)),
-    * self for snapshots for which you own or have explicit permissions, or 
all for public
-    * snapshots.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param options
-    *           specify the snapshot ids or other parameters to clarify the 
list.
-    * @return matching snapshots.
-    * 
-    * @see #createSnapshotsInRegion
-    * @see #deleteSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html";
-    *      />
-    */
-   @Named("DescribeSnapshots")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeSnapshots")
-   @XMLResponseParser(DescribeSnapshotsResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<Snapshot> describeSnapshotsInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            DescribeSnapshotsOptions... options);
-
-   /**
-    * Returns information about EBS snapshots matching the given filters.
-    *
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param filter
-    *           Multimap of filter key/values.
-    * @param options
-    *           specify the snapshot ids or other parameters to clarify the 
list.
-    * @return matching snapshots.
-    *
-    * @see #describeSnapshotsInRegion
-    * @see #createSnapshotsInRegion
-    * @see #deleteSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html";
-    *      />
-    */
-   @Named("DescribeSnapshots")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeSnapshots")
-   @XMLResponseParser(DescribeSnapshotsResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<Snapshot> describeSnapshotsInRegionWithFilter(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindFiltersToIndexedFormParams.class) Multimap<String, 
String> filter,
-           DescribeSnapshotsOptions... options);
-
-   /**
-    * Deletes a snapshot of an Amazon EBS volume that you own. For more 
information, go to the
-    * Amazon Elastic Compute Cloud Developer Guide or Amazon Elastic Compute 
Cloud User Guide.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param snapshotId
-    *           The ID of the Amazon EBS snapshot to delete.
-    * 
-    * @see #createSnapshotInRegion
-    * @see #deleteSnapshotInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteSnapshot.html";
-    *      />
-    */
-   @Named("DeleteSnapshot")   
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DeleteSnapshot")
-   void deleteSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("SnapshotId") String snapshotId);
-
-   /**
-    * Adds {@code createVolumePermission}s to an EBS snapshot.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param userIds
-    *           AWS Access Key ID.
-    * @param userGroups
-    *           Name of the groups. Currently supports \"all.\""
-    * @param snapshotId
-    *           The ID of the Amazon EBS snapshot.
-    * 
-    * @see #removeCreateVolumePermissionsFromSnapshot
-    * @see #describeSnapshotAttribute
-    * @see #resetSnapshotAttribute
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySnapshotAttribute.html";
-    *      />
-    */
-   @Named("ModifySnapshotAttribute")   
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "OperationType", "Attribute" }, values = { 
"ModifySnapshotAttribute", "add",
-            "createVolumePermission" })
-   void addCreateVolumePermissionsToSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @BinderParam(BindUserIdsToIndexedFormParams.class) 
Iterable<String> userIds,
-            @BinderParam(BindUserGroupsToIndexedFormParams.class) 
Iterable<String> userGroups,
-            @FormParam("SnapshotId") String snapshotId);
-
-   /**
-    * Removes {@code createVolumePermission}s from an EBS snapshot.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param userIds
-    *           AWS Access Key ID.
-    * @param userGroups
-    *           Name of the groups. Currently supports \"all.\""
-    * @param snapshotId
-    *           The ID of the Amazon EBS snapshot.
-    * 
-    * @see #addCreateVolumePermissionsToSnapshot
-    * @see #describeSnapshotAttribute
-    * @see #resetSnapshotAttribute
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifySnapshotAttribute.html";
-    *      />
-    */
-   @Named("ModifySnapshotAttribute")   
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "OperationType", "Attribute" }, values = { 
"ModifySnapshotAttribute", "remove",
-            "createVolumePermission" })
-   void removeCreateVolumePermissionsFromSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @BinderParam(BindUserIdsToIndexedFormParams.class) 
Iterable<String> userIds,
-            @BinderParam(BindUserGroupsToIndexedFormParams.class) 
Iterable<String> userGroups,
-            @FormParam("SnapshotId") String snapshotId);
-
-   /**
-    * Returns the {@link Permission}s of an snapshot.
-    * 
-    * @param region
-    *           AMIs are tied to the Region where its files are located within 
Amazon S3.
-    * @param snapshotId
-    *           The ID of the AMI for which an attribute will be described
-    * @see #describeSnapshots
-    * @see #modifySnapshotAttribute
-    * @see #resetSnapshotAttribute
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshotAttribute.html";
-    *      />
-    * @see DescribeSnapshotsOptions
-    */
-   @Named("DescribeSnapshotAttribute")   
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeSnapshotAttribute", "createVolumePermission" })
-   @XMLResponseParser(PermissionHandler.class)
-   Permission getCreateVolumePermissionForSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("SnapshotId") String snapshotId);
-
-   /**
-    * Resets the {@code createVolumePermission}s on an EBS snapshot.
-    * 
-    * @param region
-    *           Snapshots are tied to Regions and can only be used for volumes 
within the same
-    *           Region.
-    * @param snapshotId
-    *           The ID of the Amazon EBS snapshot.
-    * 
-    * @see #addCreateVolumePermissionsToSnapshot
-    * @see #describeSnapshotAttribute
-    * @see #removeProductCodesFromSnapshot
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ResetSnapshotAttribute.html";
-    *      />
-    */
-   @Named("ResetSnapshotAttribute")   
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ResetSnapshotAttribute", "createVolumePermission" })
-   void resetCreateVolumePermissionsOnSnapshotInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("SnapshotId") String snapshotId);
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticIPAddressApi.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticIPAddressApi.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticIPAddressApi.java
deleted file mode 100644
index 3401cde..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/ElasticIPAddressApi.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License 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 org.jclouds.ec2.features;
-
-import static org.jclouds.aws.reference.FormParameters.ACTION;
-
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.ec2.binders.BindFiltersToIndexedFormParams;
-import org.jclouds.ec2.binders.BindPublicIpsToIndexedFormParams;
-import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.jclouds.ec2.xml.AllocateAddressResponseHandler;
-import org.jclouds.ec2.xml.DescribeAddressesResponseHandler;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SinceApiVersion;
-import org.jclouds.rest.annotations.VirtualHost;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Provides access to EC2 Elastic IP Addresses via REST API.
- * <p/>
- * 
- * @author Adrian Cole
- */
-@RequestFilters(FormSigner.class)
-@VirtualHost
-public interface ElasticIPAddressApi {
-
-   /**
-    * Acquires an elastic IP address for use with your identity.
-    * 
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @see #describeAddresses
-    * @see #releaseAddress
-    * @see #associateAddress
-    * @see #disassociateAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-AllocateAddress.html";
-    */
-   @Named("AllocateAddress")
-   @POST
-   @Path("/")
-   @XMLResponseParser(AllocateAddressResponseHandler.class)
-   @FormParams(keys = ACTION, values = "AllocateAddress")
-   String allocateAddressInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region);
-
-   /**
-    * Associates an elastic IP address with an instance. If the IP address is 
currently assigned to
-    * another instance, the IP address is assigned to the new instance. This 
is an idempotent
-    * operation. If you enter it more than once, Amazon EC2 does not return an 
error.
-    * 
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @param publicIp
-    *           IP address that you are assigning to the instance.
-    * @param instanceId
-    *           The instance to associate with the IP address.
-    * 
-    * @see #allocateAddress
-    * @see #describeAddresses
-    * @see #releaseAddress
-    * @see #disassociateAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-AssociateAddress.html";
-    */
-   @Named("AssociateAddress")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "AssociateAddress")
-   void associateAddressInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("PublicIp") String publicIp, @FormParam("InstanceId") 
String instanceId);
-
-   /**
-    * Disassociates the specified elastic IP address from the instance to 
which it is assigned. This
-    * is an idempotent operation. If you enter it more than once, Amazon EC2 
does not return an
-    * error.
-    * 
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @param publicIp
-    *           IP address that you are assigning to the instance.
-    * 
-    * @see #allocateAddress
-    * @see #describeAddresses
-    * @see #releaseAddress
-    * @see #associateAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-DisassociateAddress.html";
-    */
-   @Named("DisassociateAddress")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DisassociateAddress")
-   void disassociateAddressInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("PublicIp") String publicIp);
-
-   /**
-    * Releases an elastic IP address associated with your identity.
-    * 
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @param publicIp
-    *           The IP address that you are releasing from your identity.
-    * 
-    * @see #allocateAddress
-    * @see #describeAddresses
-    * @see #associateAddress
-    * @see #disassociateAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-ReleaseAddress.html";
-    */
-   @Named("ReleaseAddress")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "ReleaseAddress")
-   void releaseAddressInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("PublicIp") String publicIp);
-
-   /**
-    * Lists elastic IP addresses assigned to your identity or provides 
information about a specific
-    * address.
-    * 
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @param publicIps
-    *           Elastic IP address to describe.
-    * 
-    * @throws AWSResponseException
-    *            if the requested publicIp is not found
-    * @see #allocateAddress
-    * @see #releaseAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html";
-    *      />
-    */
-   @Named("DescribeAddresses")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeAddresses")
-   @XMLResponseParser(DescribeAddressesResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<PublicIpInstanceIdPair> describeAddressesInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @BinderParam(BindPublicIpsToIndexedFormParams.class) String... 
publicIps);
-
-   /**
-    * Lists elastic IP addresses assigned to your identity or provides 
information on addresses
-    * matching a given filter.
-    *
-    * @param region
-    *           Elastic IP addresses are tied to a Region and cannot be mapped 
across Regions.
-    * @param filter
-    *
-    * @throws AWSResponseException
-    *            if the requested publicIp is not found
-    * @see #allocateAddress
-    * @see #releaseAddress
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html";
-    *      />
-    */
-   @SinceApiVersion("2010-08-31")
-   @Named("DescribeAddresses")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeAddresses")
-   @XMLResponseParser(DescribeAddressesResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<PublicIpInstanceIdPair> describeAddressesInRegionWithFilter(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindFiltersToIndexedFormParams.class) Multimap<String, 
String> filter);
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/InstanceApi.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/InstanceApi.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/InstanceApi.java
deleted file mode 100644
index 5d7a591..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/InstanceApi.java
+++ /dev/null
@@ -1,803 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License 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 org.jclouds.ec2.features;
-
-import static org.jclouds.aws.reference.FormParameters.ACTION;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.ec2.binders.BindBlockDeviceMappingToIndexedFormParams;
-import org.jclouds.ec2.binders.BindFiltersToIndexedFormParams;
-import org.jclouds.ec2.binders.BindInstanceIdsToIndexedFormParams;
-import org.jclouds.ec2.binders.IfNotNullBindAvailabilityZoneToFormParam;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.InstanceStateChange;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.jclouds.ec2.domain.Volume.InstanceInitiatedShutdownBehavior;
-import org.jclouds.ec2.functions.ConvertUnencodedBytesToBase64EncodedString;
-import org.jclouds.ec2.options.RunInstancesOptions;
-import org.jclouds.ec2.xml.BlockDeviceMappingHandler;
-import org.jclouds.ec2.xml.BooleanValueHandler;
-import org.jclouds.ec2.xml.DescribeInstancesResponseHandler;
-import org.jclouds.ec2.xml.GetConsoleOutputResponseHandler;
-import org.jclouds.ec2.xml.InstanceInitiatedShutdownBehaviorHandler;
-import org.jclouds.ec2.xml.InstanceStateChangeHandler;
-import org.jclouds.ec2.xml.InstanceTypeHandler;
-import org.jclouds.ec2.xml.RunInstancesResponseHandler;
-import org.jclouds.ec2.xml.StringValueHandler;
-import org.jclouds.ec2.xml.UnencodeStringValueHandler;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SinceApiVersion;
-import org.jclouds.rest.annotations.VirtualHost;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Provides access to EC2 Instance Services via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- */
-@RequestFilters(FormSigner.class)
-@VirtualHost
-public interface InstanceApi {
-
-   /**
-    * Returns information about instances that you own.
-    * <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 invalid
-    * instance ID, a fault is returned. If you specify an instance that you do
-    * not own, it will not be included in the returned results.
-    * <p/>
-    * Recently terminated instances might appear in the returned results.This
-    * interval is usually less than one hour.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * 
-    * @see #runInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html";
-    *      />
-    */
-   @Named("DescribeInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeInstances")
-   @XMLResponseParser(DescribeInstancesResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<? extends Reservation<? extends RunningInstance>> 
describeInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @BinderParam(BindInstanceIdsToIndexedFormParams.class) String... 
instanceIds);
-
-   /**
-    * Returns information about instances that you own.
-    * <p/>
-    *
-    * If you specify one or filters, Amazon EC2 returns information for 
instances
-    * matching those filters. If you do not specify any filters, Amazon EC2
-    * returns information for all relevant instances. If you specify an invalid
-    * filter, a fault is returned. Only instances you own will be included in 
the
-    * results.
-    * <p/>
-    * Recently terminated instances might appear in the returned results. This
-    * interval is usually less than one hour.
-    *
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param filter
-    *
-    * @see #runInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html";
-    *      />
-    */
-   @SinceApiVersion("2010-08-31")
-   @Named("DescribeInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeInstances")
-   @XMLResponseParser(DescribeInstancesResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<? extends Reservation<? extends RunningInstance>> 
describeInstancesInRegionWithFilter(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindFiltersToIndexedFormParams.class) Multimap<String, 
String> filter);
-
-   /**
-    * Launches a specified number of instances of an AMI for which you have
-    * permissions.
-    * <p/>
-    * 
-    * If Amazon EC2 cannot launch the minimum number AMIs you request, no
-    * instances will be launched. If there is insufficient capacity to launch
-    * the maximum number of AMIs you request, Amazon EC2 launches the minimum
-    * number specified for each AMI and allocate the remaining available
-    * instances using round robin.
-    * <p/>
-    * <h4>Security Groups</h4>
-    * <b>Note:</b> Every instance is launched in a security group (created 
using
-    * the CreateSecurityGroup operation.
-    * <h4>Key Pair</h4>
-    * You can provide an optional key pair ID for each image in the launch
-    * request (created using the CreateKeyPair operation). All instances that
-    * are created from images that use this key pair will have access to the
-    * associated public key at boot. You can use this key to provide secure
-    * access to an instance of an image on a per-instance basis. Amazon EC2
-    * public images use this feature to provide secure access without 
passwords.
-    * <p/>
-    * <b>Note:</b> Launching public images without a key pair ID will leave 
them
-    * inaccessible.
-    * <p/>
-    * The public key material is made available to the instance at boot time by
-    * placing it in the openssh_id.pub file on a logical device that is exposed
-    * to the instance as /dev/sda2 (the instance store). The format of this 
file
-    * is suitable for use as an entry within ~/.ssh/authorized_keys (the 
OpenSSH
-    * format). This can be done at boot (e.g., as part of rc.local) allowing 
for
-    * secure access without passwords.
-    * <h4>User Data</h4>
-    * Optional user data can be provided in the launch request. All instances
-    * that collectively comprise the launch request have access to this data.
-    * For more information, go the Amazon Elastic Compute Cloud Developer 
Guide.
-    * <h4>Product Codes</h4>
-    * 
-    * <b>Note:</b> If any of the AMIs have a product code attached for which 
the
-    * user has not subscribed, the RunInstances call will fail.
-    * <h4>Kernel</h4>
-    * 
-    * <b>Important:</b> We strongly recommend using the 2.6.18 Xen stock kernel
-    * with High-CPU and High-Memory instances. Although the default Amazon EC2
-    * kernels will work, the new kernels provide greater stability and
-    * performance for these instance types. For more information about kernels,
-    * go the Amazon Elastic Compute Cloud Developer Guide.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param nullableAvailabilityZone
-    *           Specifies the placement constraints (Availability Zones) for
-    *           launching the instances. If null, Amazon will determine the 
best
-    *           availability zone to place the instance.
-    * @param imageId
-    *           Unique ID of a machine image, returned by a call to
-    * @param minCount
-    *           Minimum number of instances to launch. If the value is more 
than
-    *           Amazon EC2 can launch, no instances a re launched at all.
-    *           Constraints: Between 1 and the maximum number allowed for your
-    *           account (default: 20).
-    * @param maxCount
-    *           Maximum number of instances to launch. If the value is more 
than
-    *           Amazon EC2 can launch, the largest possible number above
-    *           minCount will be launched instead. Constraints: Between 1 and
-    *           the maximum number allowed for your account (default: 20).
-    * @see #describeInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see #authorizeSecurityGroupIngressInRegion
-    * @see #revokeSecurityGroupIngressInRegion
-    * @see #describeSecurityGroupsInRegion
-    * @see #createSecurityGroupInRegion
-    * @see #createKeyPairInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html";
-    *      />
-    * @see RunInstancesOptions
-    */
-   @Named("RunInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "RunInstances")
-   @XMLResponseParser(RunInstancesResponseHandler.class)
-   Reservation<? extends RunningInstance> runInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @Nullable 
@BinderParam(IfNotNullBindAvailabilityZoneToFormParam.class) String 
nullableAvailabilityZone,
-         @FormParam("ImageId") String imageId, @FormParam("MinCount") int 
minCount,
-         @FormParam("MaxCount") int maxCount, RunInstancesOptions... options);
-
-   /**
-    * Requests a reboot of one or more instances. This operation is
-    * asynchronous; it only queues a request to reboot the specified
-    * instance(s). The operation will succeed if the instances are valid and
-    * belong to you. Requests to reboot terminated instances are ignored. <h3>
-    * Note</h3> If a Linux/UNIX instance does not cleanly shut down within four
-    * minutes, Amazon EC2 will perform a hard reboot.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * 
-    * @param instanceIds
-    *           Instance ID to reboot.
-    * 
-    * @see #startInstancesInRegion
-    * @see #runInstancesInRegion
-    * @see #describeInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-StopInstances.html";
-    *      />
-    */
-   @Named("RebootInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "RebootInstances")
-   void rebootInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @BinderParam(BindInstanceIdsToIndexedFormParams.class) String... 
instanceIds);
-
-   /**
-    * Shuts down one or more instances. This operation is idempotent; if you
-    * terminate an instance more than once, each call will succeed.
-    * <p/>
-    * Terminated instances will remain visible after termination (approximately
-    * one hour).
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceIds
-    *           Instance ID to terminate.
-    * @see #describeInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-TerminateInstances.html";
-    *      />
-    */
-   @Named("TerminateInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "TerminateInstances")
-   @XMLResponseParser(InstanceStateChangeHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<? extends InstanceStateChange> terminateInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @BinderParam(BindInstanceIdsToIndexedFormParams.class) String... 
instanceIds);
-
-   /**
-    * Stops an instance that uses an Amazon EBS volume as its root device.
-    * <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.
-    * <h3>Note</h3>
-    * 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/>
-    * Performing this operation on an instance that uses an instance store as
-    * its root device returns an error.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param force
-    *           Forces the instance to stop. The instance will not have an
-    *           opportunity to flush file system caches nor file system meta
-    *           data. If you use this option, you must perform file system 
check
-    *           and repair procedures. This option is not recommended for
-    *           Windows instances.
-    * @param instanceIds
-    *           Instance ID to stop.
-    * 
-    * @see #startInstancesInRegion
-    * @see #runInstancesInRegion
-    * @see #describeInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-StopInstances.html";
-    *      />
-    */
-   @Named("StopInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "StopInstances")
-   @XMLResponseParser(InstanceStateChangeHandler.class)
-   Set<? extends InstanceStateChange> stopInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("Force") boolean force,
-         @BinderParam(BindInstanceIdsToIndexedFormParams.class) String... 
instanceIds);
-
-   /**
-    * Starts an instance that uses an Amazon EBS volume as its root device.
-    * <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.
-    * <h3>Note</h3>
-    * 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/>
-    * Performing this operation on an instance that uses an instance store as
-    * its root device returns an error.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceIds
-    *           Instance ID to start.
-    * 
-    * @see #stopInstancesInRegion
-    * @see #runInstancesInRegion
-    * @see #describeInstancesInRegion
-    * @see #terminateInstancesInRegion
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-StartInstances.html";
-    *      />
-    */
-   @Named("StartInstances")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "StartInstances")
-   @XMLResponseParser(InstanceStateChangeHandler.class)
-   Set<? extends InstanceStateChange> startInstancesInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @BinderParam(BindInstanceIdsToIndexedFormParams.class) String... 
instanceIds);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return unencoded user data
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "userData" })
-   @XMLResponseParser(UnencodeStringValueHandler.class)
-   String getUserDataForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return The root device name (e.g., /dev/sda1).
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "rootDeviceName" })
-   @XMLResponseParser(StringValueHandler.class)
-   String getRootDeviceNameForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return the ID of the RAM disk associated with the AMI.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "ramdisk" })
-   @XMLResponseParser(StringValueHandler.class)
-   String getRamdiskForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return the ID of the kernel associated with the AMI.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "kernel" })
-   @XMLResponseParser(StringValueHandler.class)
-   String getKernelForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return Specifies whether the instance can be terminated using the APIs.
-    *         You must modify this attribute before you can terminate any
-    *         "locked" instances from the APIs.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "disableApiTermination" })
-   @XMLResponseParser(BooleanValueHandler.class)
-   boolean isApiTerminationDisabledForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return The instance type of the instance.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "instanceType" })
-   @XMLResponseParser(InstanceTypeHandler.class)
-   String getInstanceTypeForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return whether the instance's Amazon EBS volumes are stopped or
-    *         terminated when the instance is shut down.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute",
-         "instanceInitiatedShutdownBehavior" })
-   @XMLResponseParser(InstanceInitiatedShutdownBehaviorHandler.class)
-   InstanceInitiatedShutdownBehavior 
getInstanceInitiatedShutdownBehaviorForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to describe the attribute of
-    * @return Describes the mapping that defines native device names to use 
when
-    *         exposing virtual devices.
-    */
-   @Named("DescribeInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"DescribeInstanceAttribute", "blockDeviceMapping" })
-   @XMLResponseParser(BlockDeviceMappingHandler.class)
-   Map<String, BlockDevice> getBlockDeviceMappingForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * Resets an attribute of an instance to its default value.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to reset the attribute of
-    * @return the ID of the RAM disk associated with the AMI.
-    */
-   @Named("ResetInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ResetInstanceAttribute", "ramdisk" })
-   void resetRamdiskForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * Resets an attribute of an instance to its default value.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to reset the attribute of
-    * @return the ID of the kernel associated with the AMI.
-    */
-   @Named("ResetInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ResetInstanceAttribute", "kernel" })
-   void resetKernelForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-
-   /**
-    * Sets the userData used for starting the instance.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param unencodedData
-    *           unencoded data to set as userData
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute", "userData" })
-   void setUserDataForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId,
-         @FormParam("Value") 
@ParamParser(ConvertUnencodedBytesToBase64EncodedString.class) byte[] 
unencodedData);
-
-   /**
-    * Sets the ramdisk used for starting the instance.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param ramdisk
-    *           ramdisk used to start the instance
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute", "ramdisk" })
-   void setRamdiskForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId, @FormParam("Value") 
String ramdisk);
-
-   /**
-    * Sets the kernelId used for starting the instance.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param kernel
-    *           kernelId used to start the instance
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute", "kernel" })
-   void setKernelForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId, @FormParam("Value") 
String kernel);
-
-   /**
-    * This command works while the instance is running and controls whether or
-    * not the api can be used to terminate the instance.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to reset the attribute of
-    * @param apiTerminationDisabled
-    *           true to disable api termination
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute", "disableApiTermination" })
-   void setApiTerminationDisabledForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId, @FormParam("Value") 
boolean apiTerminationDisabled);
-
-   /**
-    * Sets the instanceType used for starting the instance.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param instanceType
-    *           instanceType used to start the instance
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute", "instanceType" })
-   void setInstanceTypeForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId, @FormParam("Value") 
String instanceType);
-
-   /**
-    * Specifies whether the instance's Amazon EBS volumes are stopped or
-    * terminated when the instance is shut down.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param instanceInitiatedShutdownBehavior
-    *           whether the instance's Amazon EBS volumes are stopped or
-    *           terminated when the instance is shut down.
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION, "Attribute" }, values = { 
"ModifyInstanceAttribute",
-         "instanceInitiatedShutdownBehavior" })
-   void setInstanceInitiatedShutdownBehaviorForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId,
-         @FormParam("Value") InstanceInitiatedShutdownBehavior 
instanceInitiatedShutdownBehavior);
-
-   /**
-    * Sets the blockDeviceMapping used for an instance.
-    * <p/>
-    * The instance needs to be in a {@link InstanceState#STOPPED} state, which
-    * implies two things:
-    * <ol>
-    * <li>The instance was launched from an EBS-backed AMI so that it can 
stop</li>
-    * <li>You have stopped and waited for the instance to transition from
-    * {@link InstanceState#STOPPING} to {@link InstanceState#STOPPED}</li>
-    * </ol>
-    * 
-    * To create the instances of {@link BlockDevice}, the
-    * constructor can be used with the following parameters:
-    * {@link BlockDevice#EbsBlockDevice(String, String, boolean)}
-    * , that are:
-    * <ol>
-    * <li>Volume id (required), for instance, "vol-blah"</li>
-    * <li>Device name (optional), for instance, "/dev/sda1". To find out more
-    * about device names, read the next paragraph.</li>
-    * <li>Delete on termination flag (optional), which defines whether the
-    * volume will be deleted upon instance's termination.</li>
-    * </ol>
-    * <p/>
-    * Note that the device names between Linux and Windows differ. For Linux,
-    * ensure that your device name is in the form /dev/sd[a-z] . For example,
-    * /dev/sda , /dev/sdb and /dev/sdh are all valid device names.
-    * <p/>
-    * For Windows, the root device is still referred to as /dev/sda1 . For 
other
-    * devices, ensure that they are in the form /xvd[c-p] . For example, /xvde 
,
-    * /xvdf and /xvdp are all valid Windows device names.
-    * <p/>
-    * <b>NOTE</b>: As of now 02/20/2010, this command only works to change the
-    * DeleteOnTermination property of the device. The volume must be
-    * <i>attached</i> to a stopped instance.
-    * 
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to change the attribute of
-    * @param blockDeviceMapping
-    *           blockDeviceMapping used to start the instance
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html";
-    *      />
-    */
-   @Named("ModifyInstanceAttribute")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION }, values = { "ModifyInstanceAttribute" })
-   void setBlockDeviceMappingForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId,
-         @BinderParam(BindBlockDeviceMappingToIndexedFormParams.class) 
Map<String, BlockDevice> blockDeviceMapping);
-
-   /**
-    * Retrieves console output for the specified instance.
-    *
-    * Instance console output is buffered and posted shortly after instance 
boot, reboot, and termination. Amazon EC2 preserves
-    * the most recent 64 KB output which will be available for at least one 
hour after the most recent post.
-    *
-    * @param region
-    *           Instances are tied to Availability Zones. However, the instance
-    *           ID is tied to the Region.
-    * @param instanceId
-    *           which instance to retrieve console output for
-    * @return The console output
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-GetConsoleOutput.html";>
-    *       ApiReference query GetConsoleOutput</a>
-    */
-   @Named("GetConsoleOutput")
-   @POST
-   @Path("/")
-   @FormParams(keys = { ACTION }, values = { "GetConsoleOutput" })
-   @XMLResponseParser(GetConsoleOutputResponseHandler.class)
-   String getConsoleOutputForInstanceInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-         @FormParam("InstanceId") String instanceId);
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/KeyPairApi.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/KeyPairApi.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/KeyPairApi.java
deleted file mode 100644
index c10f3eb..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/main/java/org/jclouds/ec2/features/KeyPairApi.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License 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 org.jclouds.ec2.features;
-
-import static org.jclouds.aws.reference.FormParameters.ACTION;
-
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.ec2.binders.BindFiltersToIndexedFormParams;
-import org.jclouds.ec2.binders.BindKeyNamesToIndexedFormParams;
-import org.jclouds.ec2.domain.KeyPair;
-import org.jclouds.ec2.xml.DescribeKeyPairsResponseHandler;
-import org.jclouds.ec2.xml.KeyPairResponseHandler;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.VirtualHost;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Provides access to EC2 via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- */
-@RequestFilters(FormSigner.class)
-@VirtualHost
-public interface KeyPairApi {
-
-   /**
-    * Creates a new 2048-bit RSA key pair with the specified name. The public 
key is stored by
-    * Amazon EC2 and the private key is displayed on the console. 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.
-    * 
-    * @param region
-    *           Key pairs (to connect to instances) are Region-specific.
-    * @param keyName
-    *           A unique name for the key pair.
-    * 
-    * @see #runInstances
-    * @see #describeKeyPairs
-    * @see #deleteKeyPair
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateKeyPair.html";
-    *      />
-    */
-   @Named("CreateKeyPair")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateKeyPair")
-   @XMLResponseParser(KeyPairResponseHandler.class)
-   KeyPair createKeyPairInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("KeyName") String keyName);
-
-   /**
-    * Returns information about key pairs available to you. If you specify key 
pairs, information
-    * about those key pairs is returned. Otherwise, information for all 
registered key pairs is
-    * returned.
-    * 
-    * @param region
-    *           Key pairs (to connect to instances) are Region-specific.
-    * @param keyPairNames
-    *           Key pairs to describe.
-    * 
-    * @see #runInstances
-    * @see #describeAvailabilityZones
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html";
-    *      />
-    */
-   @Named("DescribeKeyPairs")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeKeyPairs")
-   @XMLResponseParser(DescribeKeyPairsResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<KeyPair> describeKeyPairsInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @BinderParam(BindKeyNamesToIndexedFormParams.class) String... 
keyPairNames);
-
-   /**
-    * Returns information about key pairs available to you. If you specify 
filters,
-    * information about keypairs matching those filters is returned. 
Otherwise, all
-    * keypairs you have access to are returned.
-    *
-    * @param region
-    *           Key pairs (to connect to instances) are Region-specific.
-    * @param filter
-    *           Multimap of filter key/values.
-    *
-    * @see #runInstances
-    * @see #describeAvailabilityZones
-    * @see <a 
href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html";
-    *      />
-    */
-   @Named("DescribeKeyPairs")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DescribeKeyPairs")
-   @XMLResponseParser(DescribeKeyPairsResponseHandler.class)
-   @Fallback(EmptySetOnNotFoundOr404.class)
-   Set<KeyPair> describeKeyPairsInRegionWithFilter(
-           @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-           @BinderParam(BindFiltersToIndexedFormParams.class) Multimap<String, 
String> filter);
-
-   /**
-    * Deletes the specified key pair, by removing the public key from Amazon 
EC2. You must own the
-    * key pair
-    * 
-    * @param region
-    *           Key pairs (to connect to instances) are Region-specific.
-    * @param keyName
-    *           Name of the key pair to delete
-    * 
-    * @see #describeKeyPairs
-    * @see #createKeyPair
-    * 
-    * @see <a href=
-    *      
"http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DeleteKeyPair.html";
-    *      />
-    */
-   @Named("DeleteKeyPair")
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DeleteKeyPair")
-   void deleteKeyPairInRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) 
@Nullable String region,
-            @FormParam("KeyName") String keyName);
-
-}

Reply via email to