You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/12/23 05:27:14 UTC

[50/51] [partial] stratos git commit: dropping jclouds 1.8.0 clone

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/pom.xml
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/pom.xml b/dependencies/jclouds/apis/ec2/1.8.0-stratos/pom.xml
deleted file mode 100644
index fc95b3d..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/pom.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.8.0</version>
-  </parent>
-  <groupId>org.apache.stratos</groupId>
-  <artifactId>ec2</artifactId>
-  <version>1.8.0-stratos</version>
-  <name>jclouds ec2 api</name>
-  <description>jclouds components to access an implementation of EC2</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <jclouds.version>1.8.0</jclouds.version>
-    <test.ec2.endpoint>https://ec2.us-east-1.amazonaws.com</test.ec2.endpoint>
-    <test.ec2.api-version>2010-08-31</test.ec2.api-version>
-    <test.ec2.build-version />
-    <test.ec2.identity>${test.aws.identity}</test.ec2.identity>
-    <test.ec2.credential>${test.aws.credential}</test.ec2.credential>
-    <!-- default template pattern gets a problematic Ubuntu 10.04 AMI -->
-    <test.ec2.template>hardwareId=m1.small,imageId=us-east-1/ami-1ab3ce73</test.ec2.template>
-    <!-- Active EBS template as of 9/25/2013 -->
-    <test.ec2.ebs-template>hardwareId=m1.small,imageId=us-east-1/ami-53b1ff3a</test.ec2.ebs-template>
-    <!-- Windows_Server-2008-R2 with WinRM enabled (setup instructions at http://www.frontiertown.co.uk/2011/12/overthere-control-windows-from-java/) -->
-    <test.ec2.windows-template>hardwareId=m1.small,imageId=us-east-1/ami-0cb76d65</test.ec2.windows-template>
-    <jclouds.osgi.export>org.jclouds.ec2*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${jclouds.version}",
-      org.jclouds.rest.internal;version="${jclouds.version}",
-      org.jclouds*;version="${jclouds.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>sts</artifactId>
-      <version>${jclouds.version}</version>
-      <type>jar</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${jclouds.version}</version>
-      <type>jar</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${jclouds.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${jclouds.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${jclouds.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${jclouds.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>com.theoryinpractise</groupId>
-        <artifactId>clojure-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.ec2.endpoint>${test.ec2.endpoint}</test.ec2.endpoint>
-                    <test.ec2.api-version>${test.ec2.api-version}</test.ec2.api-version>
-                    <test.ec2.build-version>${test.ec2.build-version}</test.ec2.build-version>
-                    <test.ec2.identity>${test.ec2.identity}</test.ec2.identity>
-                    <test.ec2.credential>${test.ec2.credential}</test.ec2.credential>
-                    <test.ec2.template>${test.ec2.template}</test.ec2.template>
-                    <test.ec2.ebs-template>${test.ec2.ebs-template}</test.ec2.ebs-template>
-                    <test.ec2.windows-template>${test.ec2.windows-template}</test.ec2.windows-template>
-                    <test.ec2.windows-owner>${test.ec2.windows-owner}</test.ec2.windows-owner>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-  <scm>
-    <tag>4.0.0-rc4</tag>
-  </scm>
-</project>
-

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ami2.clj
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ami2.clj b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ami2.clj
deleted file mode 100644
index d58eb6b..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ami2.clj
+++ /dev/null
@@ -1,84 +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.
-;
-
-(ns
-  #^{:author "Hunter Hutchinson, hunter.hutchinson@gmail.com"
-     :doc "A clojure binding to the jclouds AMI service interface."}
-  org.jclouds.ec2.ami2
-  (:use org.jclouds.compute2)
-  (:import org.jclouds.aws.domain.Region
-    org.jclouds.ec2.features.AMIApi
-    org.jclouds.ec2.options.CreateImageOptions
-    org.jclouds.compute.domain.NodeMetadata
-    (org.jclouds.ec2.domain Volume Volume$Status Snapshot Snapshot$Status AvailabilityZoneInfo)))
-
-(defn ^org.jclouds.ec2.features.AMIApi
-  ami-service
-  ""
-  [compute]
-  (-> compute
-    .getContext
-    .getProviderSpecificContext
-    .getApi
-    .getAMIApi().get))
-
-(defn get-region
-  "Coerces the first parameter into a Region string; strings, keywords, and
-   NodeMetadata instances are acceptable arguments. An optional second argument
-   is returned if the first cannot be coerced into a region string.
-   Returns nil otherwise."
-  ([v] (get-region v nil))
-  ([v default-region]
-    (cond
-      (string? v) v
-      (keyword? v) (name v)
-      (instance? NodeMetadata v) (let [zone (location v)]
-      ; no easier way to go from zone -> region?
-      (if (> (.indexOf zone "-") -1)
-        (subs zone 0 (-> zone count dec))
-        zone))
-      :else default-region)))
-
-(defn- as-string
-  [v]
-  (cond
-    (string? v) v
-    (keyword? v) (name v)
-    :else v))
-
-(defn- get-string
-  [map key]
-  (as-string (get map key)))
-
-(defn- as-int
-  [v]
-  (cond
-    (number? v) (int v)
-    (string? v) (Integer/parseInt v)
-    :else (throw (IllegalArgumentException.
-    (str "Don't know how to convert object of type " (class v) " to a string")))))
-
-(defn create-image-in-region
-  ([compute region name node-id description]
-     (.createImageInRegion (ami-service compute)
-                              (get-region region)
-                              (as-string name)
-                              (as-string node-id)
-                              (into-array CreateImageOptions
-                                          (when description
-                                            [(.withDescription (CreateImageOptions.) description)])))))
-

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ebs2.clj
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ebs2.clj b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ebs2.clj
deleted file mode 100644
index 2bde9a5..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/ebs2.clj
+++ /dev/null
@@ -1,286 +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.
-;
-
-(ns
-  #^{:author "Chas Emerick, cemerick@snowtide.com"
-     :doc "A clojure binding to the jclouds EBS service interface."}
-  org.jclouds.ec2.ebs2
-  (:use org.jclouds.compute2 [clojure.core.incubator :only (-?>)])
-  (:import org.jclouds.aws.domain.Region
-    org.jclouds.compute.domain.NodeMetadata
-    (org.jclouds.ec2.domain Volume Volume$Status Snapshot Snapshot$Status AvailabilityZoneInfo)
-    (org.jclouds.ec2.options DescribeSnapshotsOptions DetachVolumeOptions CreateSnapshotOptions)))
-(defn snapshot?
-  "Returns true iff the argument is a org.jclouds.ec2.domain.Snapshot."
-  [s]
-  (instance? Snapshot s))
-
-(defn volume?
-  "Returns true iff the argument is a org.jclouds.ec2.domain.Volume."
-  [v]
-  (instance? Volume v))
-
-(defn ^org.jclouds.ec2.services.ElasticBlockStoreClient
-  ebs-service
-  ""
-  [compute]
-  (-> compute
-    .getContext
-    .getProviderSpecificContext
-    .getApi
-    .getElasticBlockStoreServices))
-
-(defn get-region
-  "Coerces the first parameter into a Region string; strings, keywords, and
-   NodeMetadata instances are acceptable arguments. An optional second argument
-   is returned if the first cannot be coerced into a region string.
-   Returns nil otherwise."
-  ([v] (get-region v nil))
-  ([v default-region]
-    (cond
-      (string? v) v
-      (keyword? v) (name v)
-      (instance? NodeMetadata v) (let [zone (location v)]
-      ; no easier way to go from zone -> region?
-      (if (> (.indexOf zone "-") -1)
-        (subs zone 0 (-> zone count dec))
-        zone))
-      :else default-region)))
-
-(defn get-volume-id
-  "Returns a string volume ID taken from the given string, keyword, or Volume argument."
-  [v]
-  (cond
-    (instance? Volume v) (.getId ^Volume v)
-    (keyword? v) (name v)
-    (string? v) v
-    :else (throw (IllegalArgumentException.
-    (str "Can't obtain volume id from argument of type " (class v))))))
-
-(defn volumes
-  "Returns a set of org.jclouds.ec2.domain.Volume instances corresponding to the
-   volumes in the specified region (defaulting to your account's default region)."
-  [compute & [region & volume-ids]]
-  (set
-    (.describeVolumesInRegion (ebs-service compute)
-      (get-region region)
-      (into-array String (map get-volume-id
-        (if (get-region region)
-          volume-ids
-          (when region (cons region volume-ids))))))))
-
-(defn- as-string
-  [v]
-  (cond
-    (string? v) v
-    (keyword? v) (name v)
-    :else v))
-(defn- get-string
-  [map key]
-  (as-string (get map key)))
-
-(defn- as-int
-  [v]
-  (cond
-    (number? v) (int v)
-    (string? v) (Integer/parseInt v)
-    :else (throw (IllegalArgumentException.
-    (str "Don't know how to convert object of type " (class v) " to a string")))))
-
-(defn- snapshot-options
-  [optmap]
-  (let [string-array #(let [v (% optmap)]
-    (into-array String (cond
-      (keyword? v) [(name v)]
-      (string? v) [v]
-      :else (map as-string v))))]
-    (-> (DescribeSnapshotsOptions.)
-      (.ownedBy (string-array :owner))
-      (.snapshotIds (string-array :ids))
-      (.restorableBy (string-array :restorable-by)))))
-
-(defn snapshots
-  "Returns a set of org.jclouds.aws.ec2.domain.Snapshot instances that match
-   the criteria provided.  Options include:
-
-   :region - region string, keyword, or NodeMetadata
-   :owner - AWS account id (or \"amazon\" or \"self\")
-   :restorable-by - AWS account id
-
-   Multiple values for each type of criteria can be provided by passing a seq
-   of the appropriate types as values."
-  [compute & options]
-  (let [options (apply hash-map options)
-        region (:region options)
-        options (snapshot-options (dissoc options :region))]
-    (set
-      (.describeSnapshotsInRegion (ebs-service compute)
-        (get-region region)
-        (into-array DescribeSnapshotsOptions [options])))))
-
-(defn create-snapshot
-  "Creates a snapshot of a volume in the specified region with an optional description.
-   If provided, the description must be < 255 characters in length. Returns the
-   org.jclouds.aws.ec2.domain.Snapshot object representing the created snapshot."
-  ([compute ^Volume volume] (create-snapshot compute volume nil))
-  ([compute ^Volume volume description] (create-snapshot compute (.getRegion volume) (.getId volume) description))
-  ([compute region volume-id description]
-    (.createSnapshotInRegion (ebs-service compute)
-      (get-region region)
-      (as-string volume-id)
-      (into-array CreateSnapshotOptions (when description
-        [(.withDescription (CreateSnapshotOptions.) description)])))))
-
-(defn delete-snapshot
-  "Deletes a snapshot in the specified region."
-  ([compute ^Snapshot snapshot] (delete-snapshot compute (.getRegion snapshot) (.getId snapshot)))
-  ([compute region snapshot-id]
-    (.deleteSnapshotInRegion (ebs-service compute)
-      (get-region region)
-      (as-string snapshot-id))))
-
-(defn get-zone
-  [v]
-  (cond
-    (instance? AvailabilityZoneInfo v) (.getZone v)
-    (instance? NodeMetadata v) (location ^NodeMetadata v)
-    (string? v) v
-    (keyword? v) (name v)
-    :else (throw (IllegalArgumentException.
-    (str "Can't obtain zone from argument of type " (class v))))))
-
-(defn attach-volume
-  "Attaches a volume to an instance, returning the resulting org.jclouds.aws.ec2.domain.Attachment."
-  ([compute ^NodeMetadata node volume device]
-    (attach-volume compute node (.getProviderId node) (get-volume-id volume) device))
-  ([compute region instance-id volume-id device]
-    (apply #(.attachVolumeInRegion (ebs-service compute)
-      (get-region region) % %2 %3)
-      (map as-string [volume-id instance-id device]))))
-
-(defn detach-volume
-  "Detaches a volume from the instance to which it is currently attached.
-   The volume may be specified with a Volume instance, a string, or a keyword.
-   Providing a logical true value for the :force option will cause the volume
-   to be forcibly detached, regardless of whether it is in-use (mounted) or not.
-
-   If the volume is specified as a string or keyword, one of the following options
-   is additionally required:
-
-   :region - the region where the volume is allocated
-   :node - a node in the region where the volume is allocated
-
-   FYI: It appears that issuing a detatch-volume command while the volume in question is mounted
-   will cause the volume to be detatched immediately upon the volume beign unmounted."
-  [compute volume & options]
-  (let [options (apply hash-map options)
-        volume-id (get-volume-id volume)
-        region (get-region (if (instance? Volume volume)
-      (.getRegion volume)
-      (or (:region options) (:node options))))]
-    (when (not region)
-      (throw (IllegalArgumentException.
-        "Must specify volume's region via :region or :node options, or by providing a Volume instance.")))
-    (.detachVolumeInRegion (ebs-service compute)
-      region
-      volume-id
-      (boolean (:force options))
-      (into-array DetachVolumeOptions []))))
-
-(defn create-volume
-  "Creates a new volume given a set of options:
-
-   - one of :zone (keyword, string, or AvailabilityZoneInfo) or :node (NodeMetadata)
-   - one or both of :snapshot (keyword, string, or Snapshot instance) or :size
-     (string, keyword, or number)
-   - :device (string or keyword) provided *only* when you want to attach the new volume to
-     the :node you specified!
-
-   Returns a vector of [created org.jclouds.ec2.domain.Volume,
-                        optional org.jclouds.ec2.domain.Attachment]
-
-   Note that specifying :node instead of :zone will only attach the created volume
-   :device is also provided.  Otherwise, the node is only used to obtain the desired
-   availability zone.
-
-   Note also that if :device and :node are specified, and the attach operation fails,
-   you will have \"leaked\" the newly-created volume
-   (volume creation and attachment cannot be done atomically)."
-  [compute & options]
-  (when (-> options count odd?)
-    (throw (IllegalArgumentException. "Must provide key-value pairs, e.g. :zone :us-east-1d :size 200")))
-  (let [options (apply hash-map options)
-        snapshot (get-string options :snapshot)
-        snapshot (if (snapshot? snapshot) (.getId snapshot) snapshot)
-        size (-?> (get-string options :size) as-int)
-        ^NodeMetadata node (:node options)
-        zone (or node (get-string options :zone))
-        zone (if zone
-      (get-zone zone)
-      (throw (IllegalArgumentException. "Must supply a :zone or :node option.")))
-        ebs (ebs-service compute)]
-    (when (and (:device options) (not node))
-      (throw (IllegalArgumentException. "Cannot create and attach new volume; no :node specified")))
-    (let [new-volume (cond
-      (and snapshot size) (.createVolumeFromSnapshotInAvailabilityZone ebs zone size snapshot)
-      snapshot (.createVolumeFromSnapshotInAvailabilityZone ebs zone snapshot)
-      size (.createVolumeInAvailabilityZone ebs zone size)
-      :else (throw (IllegalArgumentException. "Must supply :size and/or :snapshot options.")))]
-      [new-volume (when (:device options)
-        (attach-volume compute node new-volume (as-string (:device options))))])))
-
-(defn delete-volume
-  "Deletes a volume in the specified region."
-  ([compute ^Volume volume]
-    (delete-volume (.getRegion volume) (.getId volume)))
-  ([compute region volume-id]
-    (.deleteVolumeInRegion (ebs-service compute)
-      (get-region region)
-      (as-string volume-id))))
-
-(defn status
-  "Returns the status of the given entity; works for Volumes and Snapshots."
-  [k]
-  (.getStatus k))
-
-(defn status-available?
-  [^Volume v]
-  (= Volume$Status/AVAILABLE (status v)))
-
-(defn status-creating?
-  [^Volume v]
-  (= Volume$Status/CREATING (status v)))
-
-(defn status-deleting?
-  [^Volume v]
-  (= Volume$Status/DELETING (status v)))
-
-(defn status-in-use?
-  [^Volume v]
-  (= Volume$Status/IN_USE (status v)))
-
-(defn status-completed?
-  [^Snapshot s]
-  (= Snapshot$Status/COMPLETED (status s)))
-
-(defn status-error?
-  [^Snapshot s]
-  (= Snapshot$Status/ERROR (status s)))
-
-(defn status-pending?
-  [^Snapshot s]
-  (= Snapshot$Status/PENDING (status s)))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/elastic_ip2.clj
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/elastic_ip2.clj b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/elastic_ip2.clj
deleted file mode 100644
index 68c372f..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/elastic_ip2.clj
+++ /dev/null
@@ -1,80 +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.
-;
-
-(ns 
-  #^{:author "Chas Emerick, cemerick@snowtide.com"
-     :doc "A clojure binding for the jclouds AWS elastic IP address interface."}
-  org.jclouds.ec2.elastic-ip2
-  (:require (org.jclouds [compute2 :as compute])
-    [org.jclouds.ec2.ebs2 :as ebs])
-  (:import org.jclouds.compute.domain.NodeMetadata
-    (org.jclouds.ec2.domain PublicIpInstanceIdPair)))
-
-(defn ^org.jclouds.ec2.features.ElasticIPAddressApi
-  eip-service
-  "Returns an ElasticIPAddressApi for the given ComputeService"
-  [compute]
-  (-> compute
-    .getContext .getProviderSpecificContext .getApi .getElasticIPAddressApi().get))
-
-(defn allocate
-  "Claims a new elastic IP address within the (optionally) specified region for your account.
-   Region may be a string, keyword, or a node from which the region
-   is inferred.  Returns the IP address as a string."
-  ([compute] (allocate compute nil))
-  ([compute region]
-    (.allocateAddressInRegion (eip-service compute) (ebs/get-region region))))
-
-(defn associate
-  "Associates an elastic IP address with a node."
-  ([compute ^NodeMetadata node public-ip]
-    (associate node public-ip (.getProviderId node)))
-  ([compute region public-ip instance-id]
-    (.associateAddressInRegion (eip-service compute)
-      (ebs/get-region region)
-      public-ip
-      instance-id)))
-
-(defn addresses
-  "Returns a map of elastic IP addresses to maps with slots:
-
-   :region - the region (string/keyword/NodeMetadata) the IP address is allocated within
-   :node-id - the ID of the instance with which the IP address is associated (optional)
-
-   You may optionally specify which IP addresses you would like to query."
-  ([compute] (addresses compute nil))
-  ([compute region & public-ips]
-    (into {} (for [^PublicIpInstanceIdPair pair (.describeAddressesInRegion (eip-service compute)
-                                                   (ebs/get-region region)
-                                                   (into-array String public-ips))]
-               [(.getPublicIp pair) (merge {:region (.getRegion pair)}
-                                      (when (.getInstanceId pair) {:node-id (.getInstanceId pair)}))]))))
-
-(defn dissociate
-  "Dissociates an elastic IP address from the node with which it is currently associated."
-  [compute region public-ip]
-  (.disassociateAddressInRegion (eip-service compute)
-    (ebs/get-region region)
-    public-ip))
-
-(defn release
-  "Disclaims an elastic IP address from your account."
-  ([compute public-ip] (release compute public-ip nil))
-  ([compute public-ip region]
-    (.releaseAddressInRegion (eip-service compute)
-      (ebs/get-region region)
-      public-ip)))

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/security_group2.clj
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/security_group2.clj b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/security_group2.clj
deleted file mode 100644
index a4f33cf..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/clojure/org/jclouds/ec2/security_group2.clj
+++ /dev/null
@@ -1,99 +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.
-;
-
-(ns
-  #^{:author "Juegen Hoetzel, juergen@archlinux.org"
-     :doc "A clojure binding for the jclouds AWS security group interface."}
-  org.jclouds.ec2.security-group2
-  (:require (org.jclouds [compute2 :as compute])
-    [org.jclouds.ec2.ebs2 :as ebs])
-  (:import org.jclouds.ec2.domain.SecurityGroup
-           org.jclouds.ec2.features.SecurityGroupApi
-           org.jclouds.net.domain.IpProtocol))
-
-(defn #^SecurityGroupApi
-  sg-service
-  "Returns the SecurityGroup Api associated with the specified  compute service."
-  [compute]
-  (-> compute .getContext .getProviderSpecificContext .getApi .getSecurityGroupApi().get))
-
-(defn create-group
-  "Creates a new security group.
-
-  e.g. (create-group compute \"Database Server\" \"Description for group\" :region :us-west-1)"
-  [compute name & {:keys [description region]}]
-  (.createSecurityGroupInRegion (sg-service compute) (ebs/get-region region) name (or description name)))
-
-(defn delete-group
-  "Deletes a security group.
-
-  e.g. (delete-group compute \"Database Server\" :region :us-west-1)"
-  [compute name & {:keys [region]}]
-  (.deleteSecurityGroupInRegion (sg-service compute) (ebs/get-region region) name))
-
-(defn groups
-  "Returns a map of GroupName -> org.jclouds.ec2.domain.SecurityGroup instances.
-
-   e.g. (groups compute :region :us-east-1)"
-  [compute & {:keys [region]}]
-  (into {} (for [#^SecurityGroup group (.describeSecurityGroupsInRegion (sg-service compute)
-                                                                        (ebs/get-region region)
-                                                                        (into-array String '()))]
-             [(.getName group) group])))
-
-(defn get-protocol [v]
-  "Coerce argument to a IP Protocol."
-  (cond
-   (instance? IpProtocol v) v
-   (keyword? v) (if-let [p (get {:tcp IpProtocol/TCP
-                                 :udp IpProtocol/UDP
-                                 :icmp IpProtocol/ICMP}
-                                v)]
-                  p
-                  (throw (IllegalArgumentException.
-                          (str "Can't obtain IP protocol from " v " (valid :tcp, :udp and :icmp)"))))
-   (nil? v) IpProtocol/TCP
-   :else (throw (IllegalArgumentException.
-                 (str "Can't obtain IP protocol from argument of type " (type v))))))
-
-(defn authorize
-  "Adds permissions to a security group.
-
-   e.g. (authorize compute \"jclouds#webserver#us-east-1\" 80 :ip-range \"0.0.0.0/0\")
-        (authorize compute \"jclouds#webserver#us-east-1\" [1000,2000] :protocol :udp)"
-
-  [compute group-name port & {:keys [protocol ip-range region]}]
-  (let [group ((groups compute :region region) group-name)
-        [from-port to-port] (if (number? port) [port port] port)]
-    (if group
-      (.authorizeSecurityGroupIngressInRegion
-       (sg-service compute) (ebs/get-region region) (.getName group) (get-protocol protocol) from-port to-port (or ip-range "0.0.0.0/0"))
-      (throw (IllegalArgumentException.
-              (str "Can't find security group for name " group-name))))))
-
-(defn revoke
-  "Revokes permissions from a security group.
-
-   e.g. (revoke compute 80 \"jclouds#webserver#us-east-1\" :protocol :tcp 80 80 :ip-range \"0.0.0.0/0\")"
-  [compute group-name port & {:keys [protocol ip-range region]}]
-  (let [group ((groups compute :region region) group-name)
-        [from-port to-port] (if (number? port) [port port] port)]
-    (if group
-     (.revokeSecurityGroupIngressInRegion
-      (sg-service compute) (ebs/get-region region) (.getName group) (get-protocol protocol) from-port to-port (or ip-range "0.0.0.0/0"))
-     (throw (IllegalArgumentException.
-             (str "Can't find security group for name " group-name))))))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Api.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Api.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Api.java
deleted file mode 100644
index a7e7ee0..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Api.java
+++ /dev/null
@@ -1,165 +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;
-
-import java.io.Closeable;
-import java.util.Set;
-import org.jclouds.ec2.features.SubnetApi;
-import org.jclouds.ec2.features.TagApi;
-import org.jclouds.ec2.features.WindowsApi;
-import org.jclouds.ec2.features.AMIApi;
-import org.jclouds.ec2.features.AvailabilityZoneAndRegionApi;
-import org.jclouds.ec2.features.ElasticBlockStoreApi;
-import org.jclouds.ec2.features.ElasticIPAddressApi;
-import org.jclouds.ec2.features.InstanceApi;
-import org.jclouds.ec2.features.KeyPairApi;
-import org.jclouds.ec2.features.SecurityGroupApi;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.Region;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.rest.annotations.Delegate;
-import org.jclouds.rest.annotations.EndpointParam;
-
-import com.google.common.base.Optional;
-import com.google.inject.Provides;
-
-/**
- * Provides access to EC2 features, broken up by feature group. Use of the
- * {@link Optional} type allows you to check to see if the underlying
- * implementation supports a particular feature before attempting to use it.
- * This is useful in clones like OpenStack, CloudStack, or Eucalyptus, which
- * track the api, but are always behind Amazon's service. In the case of Amazon
- * ({@code aws-ec2}), you can expect all features to be present.
- * 
- * 
- * Example
- * 
- * <pre>
- * Optional&lt;? extends WindowsApi&gt; windowsOption = ec2Api.getWindowsApi();
- * checkState(windowsOption.isPresent(), &quot;windows feature required, but not present&quot;);
- * </pre>
- */
-public interface EC2Api extends Closeable {
-   /**
-    * 
-    * @return the Region codes configured
-    */
-   @Provides
-   @Region
-   Set<String> getConfiguredRegions();
-
-   /**
-    * Provides synchronous access to Windows features.
-    */
-   @Delegate
-   Optional<? extends WindowsApi> getWindowsApi();
-
-   @Delegate
-   Optional<? extends WindowsApi> getWindowsApiForRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-   
-   /**
-    * Provides synchronous access to Tag features.
-    */
-   @Delegate
-   Optional<? extends TagApi> getTagApi();
-
-   @Delegate
-   Optional<? extends TagApi> getTagApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to Subnet features.
-    */
-   @Delegate
-   Optional<? extends SubnetApi> getSubnetApi();
-
-   @Delegate
-   Optional<? extends SubnetApi> getSubnetApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to AMI services.
-    */
-   @Delegate
-   Optional<? extends AMIApi> getAMIApi();
-
-   @Delegate
-   Optional<? extends AMIApi> getAMIApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-
-   /**
-    * Provides synchronous access to Elastic IP Address services.
-    */
-   @Delegate
-   Optional<? extends ElasticIPAddressApi> getElasticIPAddressApi();
-
-   @Delegate
-   Optional<? extends ElasticIPAddressApi> getElasticIPAddressApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to Instance services.
-    */
-   @Delegate
-   Optional<? extends InstanceApi> getInstanceApi();
-
-   @Delegate
-   Optional<? extends InstanceApi> getInstanceApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to KeyPair services.
-    */
-   @Delegate
-   Optional<? extends KeyPairApi> getKeyPairApi();
-   
-   @Delegate
-   Optional<? extends KeyPairApi> getKeyPairApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to SecurityGroup services.
-    */
-   @Delegate
-   Optional<? extends SecurityGroupApi> getSecurityGroupApi();
-
-   @Delegate
-   Optional<? extends SecurityGroupApi> getSecurityGroupApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to Availability Zones and Regions services.
-    */
-   @Delegate
-   Optional<? extends AvailabilityZoneAndRegionApi> getAvailabilityZoneAndRegionApi();
-
-   @Delegate
-   Optional<? extends AvailabilityZoneAndRegionApi> getAvailabilityZoneAndRegionApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-
-   /**
-    * Provides synchronous access to Elastic Block Store services.
-    */
-   @Delegate
-   Optional<? extends ElasticBlockStoreApi> getElasticBlockStoreApi();
-
-   @Delegate
-   Optional<? extends ElasticBlockStoreApi> getElasticBlockStoreApiForRegion(
-            @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region);
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2ApiMetadata.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2ApiMetadata.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2ApiMetadata.java
deleted file mode 100644
index 2b081c5..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2ApiMetadata.java
+++ /dev/null
@@ -1,91 +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;
-
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AUTH_TAG;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_HEADER_TAG;
-import static org.jclouds.compute.config.ComputeServiceProperties.RESOURCENAME_DELIMITER;
-import static org.jclouds.ec2.reference.EC2Constants.PROPERTY_EC2_AMI_OWNERS;
-import static org.jclouds.ec2.reference.EC2Constants.PROPERTY_EC2_AUTO_ALLOCATE_ELASTIC_IPS;
-import static org.jclouds.ec2.reference.EC2Constants.PROPERTY_EC2_GENERATE_INSTANCE_NAMES;
-import static org.jclouds.ec2.reference.EC2Constants.PROPERTY_EC2_TIMEOUT_SECURITYGROUP_PRESENT;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.ec2.compute.EC2ComputeServiceContext;
-import org.jclouds.ec2.compute.config.EC2ComputeServiceContextModule;
-import org.jclouds.ec2.compute.config.EC2ResolveImagesModule;
-import org.jclouds.ec2.config.EC2HttpApiModule;
-import org.jclouds.rest.internal.BaseHttpApiMetadata;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-public final class EC2ApiMetadata extends BaseHttpApiMetadata<EC2Api> {
-
-   @Override
-   public Builder toBuilder() {
-      return new Builder().fromApiMetadata(this);
-   }
-
-   public EC2ApiMetadata() {
-      super(new Builder());
-   }
-
-   protected EC2ApiMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = BaseHttpApiMetadata.defaultProperties();
-      properties.setProperty(PROPERTY_AUTH_TAG, "AWS");
-      properties.setProperty(PROPERTY_HEADER_TAG, "amz");
-      properties.setProperty(PROPERTY_EC2_AMI_OWNERS, "*");
-      properties.setProperty(PROPERTY_EC2_TIMEOUT_SECURITYGROUP_PRESENT, "500");
-      properties.setProperty(PROPERTY_EC2_AUTO_ALLOCATE_ELASTIC_IPS, "false");
-      properties.setProperty(RESOURCENAME_DELIMITER, "#");
-      properties.setProperty(PROPERTY_EC2_GENERATE_INSTANCE_NAMES, "true");
-      return properties;
-   }
-
-   public static final class Builder extends BaseHttpApiMetadata.Builder<EC2Api, Builder> {
-      public Builder() {
-         id("ec2")
-         .name("Amazon Elastic Compute Cloud (EC2) API")
-         .identityName("Access Key ID")
-         .credentialName("Secret Access Key")
-         .defaultEndpoint("https://ec2.us-east-1.amazonaws.com")
-         .documentation(URI.create("http://docs.amazonwebservices.com/AWSEC2/latest/APIReference"))
-         .version("2010-08-31")
-         .defaultProperties(EC2ApiMetadata.defaultProperties())
-         .view(EC2ComputeServiceContext.class)
-         .defaultModules(ImmutableSet.<Class<? extends Module>>of(EC2HttpApiModule.class, EC2ResolveImagesModule.class, EC2ComputeServiceContextModule.class));
-      }
-
-      @Override
-      public ApiMetadata build() {
-         return new EC2ApiMetadata(this);
-      }
-
-      @Override
-      protected Builder self() {
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Fallbacks.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Fallbacks.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Fallbacks.java
deleted file mode 100644
index 7cb4675..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/EC2Fallbacks.java
+++ /dev/null
@@ -1,50 +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;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Throwables.propagate;
-import static com.google.common.util.concurrent.Futures.immediateFuture;
-
-import org.jclouds.Fallback;
-import org.jclouds.aws.AWSResponseException;
-
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.util.concurrent.ListenableFuture;
-
-public final class EC2Fallbacks {
-   private EC2Fallbacks() {
-   }
-
-   public static final class VoidOnVolumeAvailable implements Fallback<Void> {
-      @Override
-      public ListenableFuture<Void> create(Throwable t) throws Exception {
-         return immediateFuture(createOrPropagate(t));
-      }
-
-      @Override
-      public Void createOrPropagate(Throwable t) throws Exception {
-         if (checkNotNull(t, "throwable") instanceof AWSResponseException) {
-            AWSResponseException e = AWSResponseException.class.cast(t);
-            if (Predicates.in(ImmutableSet.of("IncorrectState", "available")).apply(e.getError().getCode()))
-               return null;
-         }
-         throw propagate(t);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBlockDeviceMappingToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBlockDeviceMappingToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBlockDeviceMappingToIndexedFormParams.java
deleted file mode 100644
index bc41217..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBlockDeviceMappingToIndexedFormParams.java
+++ /dev/null
@@ -1,63 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.lang.String.format;
-import static org.jclouds.http.utils.Queries.queryParser;
-import static org.jclouds.io.Payloads.newUrlEncodedFormPayload;
-
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.Multimap;
-
-public class BindBlockDeviceMappingToIndexedFormParams implements Binder {
-
-   private static final String deviceNamePattern = "BlockDeviceMapping.%d.DeviceName";
-   private static final String deleteOnTerminationPattern = "BlockDeviceMapping.%d.Ebs.DeleteOnTermination";
-   private static final String volumeIdPattern = "BlockDeviceMapping.%d.Ebs.VolumeId";
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Map, "this binder is only valid for Map");
-      Map<String, BlockDevice> blockDeviceMapping = (Map<String, BlockDevice>) input;
-      Multimap<String, String> original = queryParser().apply(request.getPayload().getRawContent().toString());
-      ImmutableMultimap.Builder<String, String> builder = ImmutableMultimap.builder();
-      builder.putAll("Action", "ModifyInstanceAttribute");
-      int amazonOneBasedIndex = 1; // according to docs, counters must start with 1
-      for (Entry<String, BlockDevice> ebsBlockDeviceName : blockDeviceMapping.entrySet()) {
-         // not null by contract
-         builder.put(format(deviceNamePattern, amazonOneBasedIndex), ebsBlockDeviceName.getKey());
-         builder.put(format(deleteOnTerminationPattern, amazonOneBasedIndex),
-               String.valueOf(ebsBlockDeviceName.getValue().isDeleteOnTermination()));
-         builder.put(format(volumeIdPattern, amazonOneBasedIndex), ebsBlockDeviceName.getValue().getVolumeId());
-         amazonOneBasedIndex++;
-      }
-      builder.putAll("InstanceId", original.get("InstanceId"));
-      request.setPayload(newUrlEncodedFormPayload(builder.build()));
-      return request;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBundleIdsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBundleIdsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBundleIdsToIndexedFormParams.java
deleted file mode 100644
index 0f936ef..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindBundleIdsToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to form parameters named with BundleId.index
- */
-@Singleton
-public class BindBundleIdsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "BundleId", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindFiltersToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindFiltersToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindFiltersToIndexedFormParams.java
deleted file mode 100644
index 5478d64..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindFiltersToIndexedFormParams.java
+++ /dev/null
@@ -1,55 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Binds the Multimap to form parameters for filtering.
- * 
- * <pre>
- * https://ec2.amazonaws.com/?Action=DescribeTags
- * &Filter.1.Name=resource-type
- * &Filter.1.Value.1=instance
- * &Filter.2.Name=key
- * &Filter.2.Value.1=stack
- * &Filter.3.Name=value
- * &Filter.3.Value.1=Test
- * &Filter.3.Value.2=Production
- * &AUTHPARAMS
- * </pre>
- */
-@Singleton
-public class BindFiltersToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Multimap, "this binder is only valid for Multimap");
-      @SuppressWarnings("unchecked")
-      Multimap<String, String> filters = (Multimap<String, String>) input;
-      return AWSUtils.indexMultimapToFormValuesWithPrefix(request, "Filter", "Name", "Value", filters);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupIdsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupIdsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupIdsToIndexedFormParams.java
deleted file mode 100644
index bec6dd7..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupIdsToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to query parameters named with GroupId.index
- */
-@Singleton
-public class BindGroupIdsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "GroupId", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupNamesToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupNamesToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupNamesToIndexedFormParams.java
deleted file mode 100644
index 71a0114..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindGroupNamesToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to query parameters named with GroupName.index
- */
-@Singleton
-public class BindGroupNamesToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "GroupName", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindInstanceIdsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindInstanceIdsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindInstanceIdsToIndexedFormParams.java
deleted file mode 100644
index ca0ab58..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindInstanceIdsToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to form parameters named with InstanceId.index
- */
-@Singleton
-public class BindInstanceIdsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "InstanceId", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionToIndexedFormParams.java
deleted file mode 100644
index 0a058f6..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionToIndexedFormParams.java
+++ /dev/null
@@ -1,37 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.ec2.util.IpPermissions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.rest.Binder;
-
-public class BindIpPermissionToIndexedFormParams implements Binder {
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof IpPermission, "this binder is only valid for IpPermission");
-      IpPermission perm = (IpPermission) input;
-      return (R) request.toBuilder().replaceFormParams(IpPermissions.buildFormParametersForIndex(0, perm)).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java
deleted file mode 100644
index f8030e9..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java
+++ /dev/null
@@ -1,45 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.ec2.util.IpPermissions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableMultimap.Builder;
-
-public class BindIpPermissionsToIndexedFormParams implements Binder {
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Iterable,
-            "this binder is only valid for Iterable<IpPermission>");
-      Builder<String, String> formBuilder = ImmutableMultimap.builder();
-      int index = 0;
-      for (IpPermission perm : (Iterable<IpPermission>) input)
-         formBuilder.putAll(IpPermissions.buildFormParametersForIndex(index++, perm));
-      ImmutableMultimap<String, String> forms = formBuilder.build();
-      return forms.size() == 0 ? request : (R) request.toBuilder().replaceFormParams(forms).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindKeyNamesToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindKeyNamesToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindKeyNamesToIndexedFormParams.java
deleted file mode 100644
index c1b72f1..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindKeyNamesToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to query parameters named with KeyName.index
- */
-@Singleton
-public class BindKeyNamesToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "KeyName", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindProductCodesToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindProductCodesToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindProductCodesToIndexedFormParams.java
deleted file mode 100644
index 4651807..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindProductCodesToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the Iterable to form parameters named with ProductCode.index
- */
-@Singleton
-public class BindProductCodesToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexIterableToFormValuesWithPrefix(request, "ProductCode", input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindPublicIpsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindPublicIpsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindPublicIpsToIndexedFormParams.java
deleted file mode 100644
index 12dc23f..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindPublicIpsToIndexedFormParams.java
+++ /dev/null
@@ -1,40 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the String [] to form parameters named with InstanceId.index
- */
-@Singleton
-public class BindPublicIpsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof String[], "this binder is only valid for String[] : "
-            + input.getClass());
-      String[] addressStrings = (String[]) input;
-      return AWSUtils.indexStringArrayToFormValuesWithPrefix(request, "PublicIp", addressStrings);
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindResourceIdsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindResourceIdsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindResourceIdsToIndexedFormParams.java
deleted file mode 100644
index f9d2b96..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindResourceIdsToIndexedFormParams.java
+++ /dev/null
@@ -1,38 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds Ids to query parameters named with ResourceId.index
- */
-@Singleton
-public class BindResourceIdsToIndexedFormParams implements Binder {
-    @Override
-    public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-        checkArgument(checkNotNull(input, "input") instanceof Iterable, "this binder is only valid for Iterable<String>");
-        return AWSUtils.indexIterableToFormValuesWithPrefix(request, "ResourceId", input);
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindS3UploadPolicyAndSignature.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindS3UploadPolicyAndSignature.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindS3UploadPolicyAndSignature.java
deleted file mode 100644
index bc5b9fd..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindS3UploadPolicyAndSignature.java
+++ /dev/null
@@ -1,53 +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.binders;
-
-import static com.google.common.base.Charsets.UTF_8;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.io.BaseEncoding.base64;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableMultimap.Builder;
-
-@Singleton
-public class BindS3UploadPolicyAndSignature implements Binder {
-   private final FormSigner signer;
-
-   @Inject
-   BindS3UploadPolicyAndSignature(FormSigner signer) {
-      this.signer = signer;
-   }
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      String encodedJson = base64().encode(checkNotNull(input, "json").toString().getBytes(UTF_8));
-      Builder<String, String> builder = ImmutableMultimap.builder();
-      builder.put("Storage.S3.UploadPolicy", encodedJson);
-      String signature = signer.sign(encodedJson);
-      builder.put("Storage.S3.UploadPolicySignature", signature);
-      return (R) request.toBuilder().replaceFormParams(builder.build()).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagKeysToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagKeysToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagKeysToIndexedFormParams.java
deleted file mode 100644
index 7b19cc7..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagKeysToIndexedFormParams.java
+++ /dev/null
@@ -1,44 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.Iterables;
-
-/**
- * Binds the Iterable<String> to form parameters named with Tag.index.Key
- */
-@Singleton
-public class BindTagKeysToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Iterable, "This binder is only valid for Iterable<String>");
-      @SuppressWarnings("unchecked")
-      Iterable<String> keys = (Iterable<String>) input;
-      return AWSUtils.indexStringArrayToFormValuesWithStringFormat(request, "Tag.%s.Key",
-            Iterables.toArray(keys, String.class));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagsToIndexedFormParams.java
deleted file mode 100644
index 55801fb..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindTagsToIndexedFormParams.java
+++ /dev/null
@@ -1,51 +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.binders;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.aws.util.AWSUtils.indexMapToFormValuesWithPrefix;
-
-import java.util.Map;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-public class BindTagsToIndexedFormParams implements Binder {
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkNotNull(input, "tags");
-      Map<String, String> tagValues;
-      if (input instanceof Iterable) {
-         Builder<String, String> builder = ImmutableMap.<String, String> builder();
-         for (String key : (Iterable<String>) input) {
-            builder.put(key, "");
-         }
-         tagValues = builder.build();
-      } else if (input instanceof Map) {
-         tagValues = Map.class.cast(input);
-      } else {
-         throw new IllegalArgumentException("This binder is only valid for Map<String,String> or Iterable<String>");
-      }
-      return indexMapToFormValuesWithPrefix(request, "Tag", "Key", "Value", tagValues);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserGroupsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserGroupsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserGroupsToIndexedFormParams.java
deleted file mode 100644
index 8faf0f4..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserGroupsToIndexedFormParams.java
+++ /dev/null
@@ -1,50 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.Iterables;
-
-/**
- * Binds the Iterable to query parameters named with UserGroup.index
- */
-@Singleton
-public class BindUserGroupsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Iterable<?>, "this binder is only valid for Iterable<?>: "
-            + input.getClass());
-      checkValidUserGroup(input);
-      return AWSUtils.indexIterableToFormValuesWithPrefix(request, "UserGroup", input);
-   }
-
-   private void checkValidUserGroup(Object input) {
-      Iterable<?> values = (Iterable<?>) input;
-      long size = Iterables.size(values);
-      checkArgument(size == 0 || (size == 1 && Iterables.getOnlyElement(values).equals("all")),
-            "only supported UserGroup is 'all'");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdGroupPairToSourceSecurityGroupFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdGroupPairToSourceSecurityGroupFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdGroupPairToSourceSecurityGroupFormParams.java
deleted file mode 100644
index e1b6995..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdGroupPairToSourceSecurityGroupFormParams.java
+++ /dev/null
@@ -1,47 +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.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-
-import org.jclouds.ec2.domain.UserIdGroupPair;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableMultimap.Builder;
-
-/**
- * Binds the String [] to query parameters named with GroupName.index
- */
-@Singleton
-public class BindUserIdGroupPairToSourceSecurityGroupFormParams implements Binder {
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof UserIdGroupPair,
-            "this binder is only valid for UserIdGroupPair!");
-      UserIdGroupPair pair = (UserIdGroupPair) input;
-      Builder<String, String> builder = ImmutableMultimap.builder();
-      builder.put("SourceSecurityGroupOwnerId", pair.getUserId());
-      builder.put("SourceSecurityGroupName", pair.getGroupName());
-      return (R) request.toBuilder().replaceFormParams(builder.build()).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdsToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdsToIndexedFormParams.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdsToIndexedFormParams.java
deleted file mode 100644
index d57022a..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/binders/BindUserIdsToIndexedFormParams.java
+++ /dev/null
@@ -1,35 +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.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * Binds the Iterable to form parameters named with UserId.index
- */
-@Singleton
-public class BindUserIdsToIndexedFormParams implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      return AWSUtils.indexIterableToFormValuesWithPrefix(request, "UserId", input);
-   }
-
-}