http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPortForwardingRulesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPortForwardingRulesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPortForwardingRulesOptions.java
new file mode 100644
index 0000000..b551f05
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPortForwardingRulesOptions.java
@@ -0,0 +1,118 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what port forwarding rules are returned
+ *
+ * @see <a href=
+ *      
"http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/listPortForwardingRules.html";
+ *      />
+ */
+public class ListPortForwardingRulesOptions extends AccountInDomainOptions {
+
+   public static final ListPortForwardingRulesOptions NONE = new 
ListPortForwardingRulesOptions();
+
+   /**
+    * @param id
+    *       lists rule with the specified ID
+    */
+   public ListPortForwardingRulesOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param IPAddressId
+    *       list the rule belonging to this public ip address
+    */
+   public ListPortForwardingRulesOptions ipAddressId(String IPAddressId) {
+      this.queryParameters.replaceValues("ipaddressid", 
ImmutableSet.of(IPAddressId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param projectId
+    *       list the rules in this project
+    */
+   public ListPortForwardingRulesOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+
+   }
+   public static class Builder {
+
+      /**
+       * @see ListPortForwardingRulesOptions#id
+       */
+      public static ListPortForwardingRulesOptions id(String id) {
+         ListPortForwardingRulesOptions options = new 
ListPortForwardingRulesOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListPortForwardingRulesOptions#ipAddressId
+       */
+      public static ListPortForwardingRulesOptions ipAddressId(String 
ipAddressId) {
+         ListPortForwardingRulesOptions options = new 
ListPortForwardingRulesOptions();
+         return options.ipAddressId(ipAddressId);
+      }
+
+      /**
+       * @see ListPortForwardingRulesOptions#projectId(String)
+       */
+      public static ListPortForwardingRulesOptions projectId(String projectId) 
{
+         ListPortForwardingRulesOptions options = new 
ListPortForwardingRulesOptions();
+         return options.projectId(projectId);
+      }
+
+      /**
+       * @see ListPortForwardingRulesOptions#accountInDomain
+       */
+      public static ListPortForwardingRulesOptions accountInDomain(String 
account, String domain) {
+         ListPortForwardingRulesOptions options = new 
ListPortForwardingRulesOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see ListPortForwardingRulesOptions#domainId
+       */
+      public static ListPortForwardingRulesOptions domainId(String id) {
+         ListPortForwardingRulesOptions options = new 
ListPortForwardingRulesOptions();
+         return options.domainId(id);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListPortForwardingRulesOptions accountInDomain(String account, 
String domain) {
+      return 
ListPortForwardingRulesOptions.class.cast(super.accountInDomain(account, 
domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListPortForwardingRulesOptions domainId(String domainId) {
+      return 
ListPortForwardingRulesOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListProjectsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListProjectsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListProjectsOptions.java
new file mode 100644
index 0000000..7b0b2ff
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListProjectsOptions.java
@@ -0,0 +1,170 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what account information is returned
+ * 
+ * @see <a
+ *      
href="http://download.cloud.com/releases/3.0.6/api_3.0.6/root_admin/listProjects.html";
+ *      />
+ */
+public class ListProjectsOptions extends AccountInDomainOptions {
+
+   public static final ListProjectsOptions NONE = new ListProjectsOptions();
+
+   /**
+    * @param id
+    *           list projects by project ID
+    */
+   public ListProjectsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id));
+      return this;
+   }
+
+   /**
+    * @param name
+    *           list project by project name
+    */
+   public ListProjectsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   /**
+    * @param state
+    *           list projects by state. Valid states are enabled, disabled, and
+    *           locked.
+    */
+   public ListProjectsOptions state(String state) {
+      this.queryParameters.replaceValues("state", ImmutableSet.of(state));
+      return this;
+   }
+
+   /**
+    * @param displayText
+    *           list projects by displayText.
+    */
+   public ListProjectsOptions displayText(String displayText) {
+      this.queryParameters.replaceValues("displaytext", 
ImmutableSet.of(displayText));
+      return this;
+   }
+
+   /**
+    * @param keyword
+    *           list projects by keyword.
+    */
+   public ListProjectsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   /**
+    * @param recursive
+    *           defaults to false, but if true, lists all projects from the
+    *           parent specified by the domain id till leaves.
+    */
+   public ListProjectsOptions recursive(boolean recursive) {
+      this.queryParameters.replaceValues("isrecursive", 
ImmutableSet.of(recursive + ""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @see 
org.jclouds.cloudstack.options.ListProjectsOptions#accountInDomain(String, 
String)
+       */
+      public static ListProjectsOptions accountInDomain(String project, String 
domain) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.accountInDomain(project, domain);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListProjectsOptions#domainId
+       */
+      public static ListProjectsOptions domainId(String domainId) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.domainId(domainId);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListProjectsOptions#id
+       */
+      public static ListProjectsOptions id(String id) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListProjectsOptions#name
+       */
+      public static ListProjectsOptions name(String name) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.name(name);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListProjectsOptions#state
+       */
+      public static ListProjectsOptions state(String state) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.state(state);
+      }
+
+      /**
+       * @see 
org.jclouds.cloudstack.options.ListProjectsOptions#displayText(String)
+       */
+      public static ListProjectsOptions displayText(String displayText) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.displayText(displayText);
+      }
+
+      /**
+       * @see 
org.jclouds.cloudstack.options.ListProjectsOptions#keyword(String)
+       */
+      public static ListProjectsOptions keyword(String keyword) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.keyword(keyword);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListProjectsOptions#recursive
+       */
+      public static ListProjectsOptions recursive(boolean recursive) {
+         ListProjectsOptions options = new ListProjectsOptions();
+         return options.recursive(recursive);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListProjectsOptions accountInDomain(String account, String domain) {
+      return ListProjectsOptions.class.cast(super.accountInDomain(account, 
domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListProjectsOptions domainId(String domainId) {
+      return ListProjectsOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPublicIPAddressesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPublicIPAddressesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPublicIPAddressesOptions.java
new file mode 100644
index 0000000..0cb38e9
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListPublicIPAddressesOptions.java
@@ -0,0 +1,207 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what ip addresss information is returned
+ * 
+ * @see <a href=
+ *      
"http://download.cloud.com/releases/2.2.0/api/user/listIPAddresses.html";
+ *      />
+ */
+public class ListPublicIPAddressesOptions extends AccountInDomainOptions {
+
+   public static final ListPublicIPAddressesOptions NONE = new 
ListPublicIPAddressesOptions();
+
+   /**
+    * @param id
+    *           lists ip address by id
+    */
+   public ListPublicIPAddressesOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param allocatedOnly
+    *           limits search results to allocated public IP addresses
+    */
+   public ListPublicIPAddressesOptions allocatedOnly(boolean allocatedOnly) {
+      this.queryParameters.replaceValues("allocatedonly", 
ImmutableSet.of(allocatedOnly + ""));
+      return this;
+
+   }
+
+   /**
+    * @param networkId
+    *           list ip addresss by networkId.
+    */
+   public ListPublicIPAddressesOptions networkId(String networkId) {
+      this.queryParameters.replaceValues("networkid", 
ImmutableSet.of(networkId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param projectId
+    *           list ip addresss by project.
+    */
+   public ListPublicIPAddressesOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param VLANId
+    *           lists all public IP addresses by VLAN ID
+    */
+   public ListPublicIPAddressesOptions VLANId(String VLANId) {
+      this.queryParameters.replaceValues("vlanid", ImmutableSet.of(VLANId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param IPAddress
+    *           lists the specified IP address
+    */
+   public ListPublicIPAddressesOptions IPAddress(String IPAddress) {
+      this.queryParameters.replaceValues("ipaddress", 
ImmutableSet.of(IPAddress));
+      return this;
+   }
+
+   /**
+    * @param zoneId
+    *           lists all public IP addresses by Zone ID
+    */
+   public ListPublicIPAddressesOptions zoneId(String zoneId) {
+      this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param usesVirtualNetwork
+    *           the virtual network for the IP address
+    */
+   public ListPublicIPAddressesOptions usesVirtualNetwork(boolean 
usesVirtualNetwork) {
+      this.queryParameters.replaceValues("forvirtualnetwork", 
ImmutableSet.of(usesVirtualNetwork + ""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @see ListPublicIPAddressesOptions#accountInDomain
+       */
+      public static ListPublicIPAddressesOptions accountInDomain(String 
account, String domain) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#IPAddress
+       */
+      public static ListPublicIPAddressesOptions IPAddress(String IPAddress) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.IPAddress(IPAddress);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#domainId
+       */
+      public static ListPublicIPAddressesOptions domainId(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.domainId(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#id
+       */
+      public static ListPublicIPAddressesOptions id(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#allocatedOnly
+       */
+      public static ListPublicIPAddressesOptions allocatedOnly(boolean 
allocatedOnly) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.allocatedOnly(allocatedOnly);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#networkId
+       */
+      public static ListPublicIPAddressesOptions networkId(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.networkId(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#projectId(String)
+       */
+      public static ListPublicIPAddressesOptions projectId(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.projectId(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#VLANId
+       */
+      public static ListPublicIPAddressesOptions VLANId(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.VLANId(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#zoneId
+       */
+      public static ListPublicIPAddressesOptions zoneId(String id) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.zoneId(id);
+      }
+
+      /**
+       * @see ListPublicIPAddressesOptions#usesVirtualNetwork
+       */
+      public static ListPublicIPAddressesOptions usesVirtualNetwork(boolean 
usesVirtualNetwork) {
+         ListPublicIPAddressesOptions options = new 
ListPublicIPAddressesOptions();
+         return options.usesVirtualNetwork(usesVirtualNetwork);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListPublicIPAddressesOptions accountInDomain(String account, String 
domain) {
+      return 
ListPublicIPAddressesOptions.class.cast(super.accountInDomain(account, domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListPublicIPAddressesOptions domainId(String domainId) {
+      return ListPublicIPAddressesOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListResourceLimitsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListResourceLimitsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListResourceLimitsOptions.java
new file mode 100644
index 0000000..d669c4d
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListResourceLimitsOptions.java
@@ -0,0 +1,151 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+import com.google.common.collect.ImmutableSet;
+
+public class ListResourceLimitsOptions extends BaseHttpRequestOptions {
+   public static final ListResourceLimitsOptions NONE = new 
ListResourceLimitsOptions();
+
+   /**
+    * Lists resource limits by account. Must be used with the domainId 
parameter.
+    *
+    * @param account - the account for which the resource limits are retrieved 
for.
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions account(String account, String domainId) {
+      this.queryParameters.replaceValues("account", ImmutableSet.of(account));
+      this.queryParameters.replaceValues("domainid", 
ImmutableSet.of(String.valueOf(domainId)));
+      return this;
+   }
+
+   /**
+    * Lists resource limits by domain ID. If used with the account parameter,
+    * lists resource limits for a specified account in a specified domain.
+    *
+    * @param domainId
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions domainId(String domainId) {
+      this.queryParameters.replaceValues("domainid", 
ImmutableSet.of(String.valueOf(domainId)));
+      return this;
+   }
+
+   /**
+    * Lists resource limits by ID.
+    *
+    * @param id of the resource limit.
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions id(String id) {
+      this.queryParameters.replaceValues("account", 
ImmutableSet.of(String.valueOf(id)));
+      return this;
+   }
+
+   /**
+    * Lists resource limits by project.
+    *
+    * @param projectId the project
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(String.valueOf(projectId + "")));
+      return this;
+   }
+
+   /**
+    * List by keyword
+    *
+    * @param keyword
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   /**
+    * Type of resource to update. Values are 0, 1, 2, 3, and 4.
+    * <ul>
+    * <li>0 - Instance. Number of instances a user can create.</li>
+    * <li>1 - IP. Number of public IP addresses a user can own.</li>
+    * <li>2 - Volume. Number of disk volumes a user can create.</li>
+    * <li>3 - Snapshot. Number of snapshots a user can create.</li>
+    * <li>4 - Template. Number of templates that a user can 
register/create.</li>
+    * </ul>
+    *
+    * @param resourceType type of the resource to query for
+    * @return ListResourceLimitsOptions
+    */
+   public ListResourceLimitsOptions resourceType(int resourceType) {
+      this.queryParameters.replaceValues("resourcetype", 
ImmutableSet.of(String.valueOf(resourceType)));
+      return this;
+   }
+
+
+   public static class Builder {
+      /**
+       * @see ListResourceLimitsOptions#account(String, String)
+       */
+      public static ListResourceLimitsOptions account(String account, String 
domainId) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.account(account, domainId);
+      }
+
+      /**
+       * @see ListResourceLimitsOptions#domainId(String)
+       */
+      public static ListResourceLimitsOptions domainId(String domainId) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.domainId(domainId);
+      }
+
+      /**
+       * @see ListResourceLimitsOptions#id(String)
+       */
+      public static ListResourceLimitsOptions id(String id) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListResourceLimitsOptions#projectId(String)
+       */
+      public static ListResourceLimitsOptions projectId(String projectId) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.projectId(projectId);
+      }
+
+      /**
+       * @see ListResourceLimitsOptions#keyword(String)
+       */
+      public static ListResourceLimitsOptions keyword(String keyword) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.keyword(keyword);
+      }
+
+      /**
+       * @see ListResourceLimitsOptions#resourceType(int)
+       */
+      public static ListResourceLimitsOptions resourceType(int resourceType) {
+         ListResourceLimitsOptions options = new ListResourceLimitsOptions();
+         return options.resourceType(resourceType);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSSHKeyPairsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSSHKeyPairsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSSHKeyPairsOptions.java
new file mode 100644
index 0000000..fc73828
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSSHKeyPairsOptions.java
@@ -0,0 +1,63 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+import com.google.common.collect.ImmutableSet;
+
+public class ListSSHKeyPairsOptions extends BaseHttpRequestOptions {
+
+   public static final ListSSHKeyPairsOptions NONE = new 
ListSSHKeyPairsOptions();
+
+   /**
+    * @param name
+    *           the SSHKeyPair name
+    */
+   public ListSSHKeyPairsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   /**
+    * @param projectId
+    *           the project to list in
+    */
+   public ListSSHKeyPairsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectId", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   public static class Builder {
+      /**
+       * @see ListSSHKeyPairsOptions#name
+       */
+      public static ListSSHKeyPairsOptions name(String name) {
+         ListSSHKeyPairsOptions options = new ListSSHKeyPairsOptions();
+         return options.name(name);
+      }
+
+      /**
+       * @see ListSSHKeyPairsOptions#projectId(String)
+       */
+      public static ListSSHKeyPairsOptions projectId(String projectId) {
+         ListSSHKeyPairsOptions options = new ListSSHKeyPairsOptions();
+         return options.projectId(projectId);
+      }
+
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSecurityGroupsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSecurityGroupsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSecurityGroupsOptions.java
new file mode 100644
index 0000000..d9e22c3
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSecurityGroupsOptions.java
@@ -0,0 +1,137 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what security groups are returned
+ * 
+ * @see <a href=
+ *      
"http://download.cloud.com/releases/2.2.0/api/user/listSecurityGroups.html";
+ *      />
+ */
+public class ListSecurityGroupsOptions extends AssociateIPAddressOptions {
+
+   public static final ListSecurityGroupsOptions NONE = new 
ListSecurityGroupsOptions();
+
+   /**
+    * @param id
+    *           the ID of the security group
+    */
+   public ListSecurityGroupsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param securityGroupName
+    *           lists security groups by name
+    */
+   public ListSecurityGroupsOptions named(String securityGroupName) {
+      this.queryParameters.replaceValues("securitygroupname", 
ImmutableSet.of(securityGroupName));
+      return this;
+   }
+
+   /**
+    * @param virtualMachineId
+    *           the ID of the virtual machine. Pass this in if you want to see
+    *           the available service offering that a virtual machine can be
+    *           changed to.
+    */
+   public ListSecurityGroupsOptions virtualMachineId(String virtualMachineId) {
+      this.queryParameters.replaceValues("virtualmachineid", 
ImmutableSet.of(virtualMachineId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param projectId
+    *           the ID of the project to search in.
+    */
+   public ListSecurityGroupsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @see ListSecurityGroupsOptions#named
+       */
+      public static ListSecurityGroupsOptions named(String securityGroupName) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.named(securityGroupName);
+      }
+
+      /**
+       * @see ListSecurityGroupsOptions#id
+       */
+      public static ListSecurityGroupsOptions id(String id) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListSecurityGroupsOptions#virtualMachineId
+       */
+      public static ListSecurityGroupsOptions virtualMachineId(String 
virtualMachineId) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.virtualMachineId(virtualMachineId);
+      }
+
+      /**
+       * @see ListSecurityGroupsOptions#projectId(String)
+       */
+      public static ListSecurityGroupsOptions projectId(String projectId) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.projectId(projectId);
+      }
+
+      /**
+       * @see DeployVirtualMachineOptions#accountInDomain
+       */
+      public static ListSecurityGroupsOptions accountInDomain(String account, 
String domain) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see DeployVirtualMachineOptions#domainId
+       */
+      public static ListSecurityGroupsOptions domainId(String domainId) {
+         ListSecurityGroupsOptions options = new ListSecurityGroupsOptions();
+         return options.domainId(domainId);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListSecurityGroupsOptions accountInDomain(String account, String 
domain) {
+      return 
ListSecurityGroupsOptions.class.cast(super.accountInDomain(account, domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListSecurityGroupsOptions domainId(String domainId) {
+      return ListSecurityGroupsOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListServiceOfferingsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListServiceOfferingsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListServiceOfferingsOptions.java
new file mode 100644
index 0000000..c815fa3
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListServiceOfferingsOptions.java
@@ -0,0 +1,108 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what service offerings are returned
+ * 
+ * @see <a href=
+ *      
"http://download.cloud.com/releases/2.2.0/api/user/listServiceOfferings.html";
+ *      />
+ */
+public class ListServiceOfferingsOptions extends BaseHttpRequestOptions {
+
+   public static final ListServiceOfferingsOptions NONE = new 
ListServiceOfferingsOptions();
+
+   /**
+    * @param id
+    *           the ID of the service offering
+    */
+   public ListServiceOfferingsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param domainId
+    *           the ID of the domain associated with the service offering
+    */
+   public ListServiceOfferingsOptions domainId(String domainId) {
+      this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId 
+ ""));
+      return this;
+
+   }
+
+   /**
+    * @param name
+    *           the service offering name
+    */
+   public ListServiceOfferingsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   /**
+    * @param virtualMachineId
+    *           the ID of the virtual machine. Pass this in if you want to see
+    *           the available service offering that a virtual machine can be
+    *           changed to.
+    */
+   public ListServiceOfferingsOptions virtualMachineId(String 
virtualMachineId) {
+      this.queryParameters.replaceValues("virtualmachineid", 
ImmutableSet.of(virtualMachineId + ""));
+      return this;
+
+   }
+
+   public static class Builder {
+
+      /**
+       * @see ListServiceOfferingsOptions#name
+       */
+      public static ListServiceOfferingsOptions name(String name) {
+         ListServiceOfferingsOptions options = new 
ListServiceOfferingsOptions();
+         return options.name(name);
+      }
+
+      /**
+       * @see ListServiceOfferingsOptions#domainId
+       */
+      public static ListServiceOfferingsOptions domainId(String id) {
+         ListServiceOfferingsOptions options = new 
ListServiceOfferingsOptions();
+         return options.domainId(id);
+      }
+
+      /**
+       * @see ListServiceOfferingsOptions#id
+       */
+      public static ListServiceOfferingsOptions id(String id) {
+         ListServiceOfferingsOptions options = new 
ListServiceOfferingsOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListServiceOfferingsOptions#virtualMachineId
+       */
+      public static ListServiceOfferingsOptions virtualMachineId(String 
virtualMachineId) {
+         ListServiceOfferingsOptions options = new 
ListServiceOfferingsOptions();
+         return options.virtualMachineId(virtualMachineId);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotPoliciesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotPoliciesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotPoliciesOptions.java
new file mode 100644
index 0000000..2feda8b
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotPoliciesOptions.java
@@ -0,0 +1,63 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options for the Snapshot listSnapshotPolicies method.
+ *
+ * @see org.jclouds.cloudstack.features.SnapshotApi#listSnapshotPolicies
+ * @see org.jclouds.cloudstack.features.SnapshotApi#listSnapshotPolicies
+ */
+public class ListSnapshotPoliciesOptions extends AccountInDomainOptions {
+
+   public static final ListSnapshotPoliciesOptions NONE = new 
ListSnapshotPoliciesOptions(); 
+
+   /**
+    * @param keyword List by keyword
+    */
+   public ListSnapshotPoliciesOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword + 
""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @param account lists snapshot policies for the specified account.
+       */
+      public static ListSnapshotPoliciesOptions accountInDomain(String 
account, String domainId) {
+         return (ListSnapshotPoliciesOptions) new 
ListSnapshotPoliciesOptions().accountInDomain(account, domainId);
+      }
+
+      /**
+       * @param domainId the domain ID.
+       */
+      public static ListSnapshotPoliciesOptions domainId(String domainId) {
+         return (ListSnapshotPoliciesOptions) new 
ListSnapshotPoliciesOptions().domainId(domainId);
+      }
+
+      /**
+       * @param keyword List by keyword
+       */
+      public static ListSnapshotPoliciesOptions keyword(String keyword) {
+         return new ListSnapshotPoliciesOptions().keyword(keyword);
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotsOptions.java
new file mode 100644
index 0000000..fa366d0
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListSnapshotsOptions.java
@@ -0,0 +1,171 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.cloudstack.domain.Snapshot;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options for the Snapshot listSnapshots method.
+ *
+ * @see org.jclouds.cloudstack.features.SnapshotApi#listSnapshots
+ * @see org.jclouds.cloudstack.features.SnapshotApi#listSnapshots
+ */
+public class ListSnapshotsOptions extends AccountInDomainOptions {
+
+   public static final ListSnapshotsOptions NONE = new ListSnapshotsOptions(); 
+
+   /**
+    * @param id lists snapshot by snapshot ID
+    */
+   public ListSnapshotsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param interval valid values are HOURLY, DAILY, WEEKLY, and MONTHLY.
+    */
+   public ListSnapshotsOptions interval(Snapshot.Interval interval) {
+      this.queryParameters.replaceValues("intervaltype", 
ImmutableSet.of(interval + ""));
+      return this;
+   }
+
+   /**
+    * @param isRecursive defaults to false, but if true, lists all snapshots 
from the parent specified by the domain id till leaves.
+    */
+   public ListSnapshotsOptions isRecursive(boolean isRecursive) {
+      this.queryParameters.replaceValues("isrecursive", 
ImmutableSet.of(isRecursive + ""));
+      return this;
+   }
+
+   /**
+    * @param keyword List by keyword
+    */
+   public ListSnapshotsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword + 
""));
+      return this;
+   }
+
+   /**
+    * @param name lists snapshot by snapshot name
+    */
+   public ListSnapshotsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name + ""));
+      return this;
+   }
+
+   /**
+    * @param snapshotType valid values are MANUAL or RECURRING.
+    */
+   public ListSnapshotsOptions snapshotType(Snapshot.Type snapshotType) {
+      this.queryParameters.replaceValues("snapshottype", 
ImmutableSet.of(snapshotType + ""));
+      return this;
+   }
+
+   /**
+    * @param volumeId the ID of the disk volume
+    */
+   public ListSnapshotsOptions volumeId(String volumeId) {
+      this.queryParameters.replaceValues("volumeid", ImmutableSet.of(volumeId 
+ ""));
+      return this;
+   }
+
+   /**
+    * @param projectId the project to list in
+    */
+   public ListSnapshotsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @param account lists snapshot belonging to the specified account.
+       * @param domainId The domain ID.
+       */
+      public static ListSnapshotsOptions accountInDomain(String account, 
String domainId) {
+         return (ListSnapshotsOptions) new 
ListSnapshotsOptions().accountInDomain(account, domainId);
+      }
+
+      /**
+       * @param domainId the domain ID.
+       */
+      public static ListSnapshotsOptions domainId(String domainId) {
+         return (ListSnapshotsOptions) new 
ListSnapshotsOptions().domainId(domainId);
+      }
+
+      /**
+       * @param id lists snapshot by snapshot ID
+       */
+      public static ListSnapshotsOptions id(String id) {
+         return new ListSnapshotsOptions().id(id);
+      }
+
+      /**
+       * @param interval valid values are HOURLY, DAILY, WEEKLY, and MONTHLY.
+       */
+      public static ListSnapshotsOptions interval(Snapshot.Interval interval) {
+         return new ListSnapshotsOptions().interval(interval);
+      }
+
+      /**
+       * @param isRecursive defaults to false, but if true, lists all 
snapshots from the parent specified by the domain id till leaves.
+       */
+      public static ListSnapshotsOptions isRecursive(boolean isRecursive) {
+         return new ListSnapshotsOptions().isRecursive(isRecursive);
+      }
+
+      /**
+       * @param keyword List by keyword
+       */
+      public static ListSnapshotsOptions keyword(String keyword) {
+         return new ListSnapshotsOptions().keyword(keyword);
+      }
+
+      /**
+       * @param name lists snapshot by snapshot name
+       */
+      public static ListSnapshotsOptions name(String name) {
+         return new ListSnapshotsOptions().name(name);
+      }
+
+      /**
+       * @param snapshotType valid values are MANUAL or RECURRING.
+       */
+      public static ListSnapshotsOptions snapshotType(Snapshot.Type 
snapshotType) {
+         return new ListSnapshotsOptions().snapshotType(snapshotType);
+      }
+
+      /**
+       * @param volumeId the ID of the disk volume
+       */
+      public static ListSnapshotsOptions volumeId(String volumeId) {
+         return new ListSnapshotsOptions().volumeId(volumeId);
+      }
+
+      /**
+       * @param projectId the project to list in
+       */
+      public static ListSnapshotsOptions projectId(String projectId) {
+         return new ListSnapshotsOptions().projectId(projectId);
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListStoragePoolsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListStoragePoolsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListStoragePoolsOptions.java
new file mode 100644
index 0000000..4a372cb
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListStoragePoolsOptions.java
@@ -0,0 +1,116 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options to the GlobalStoragePools[Async]Client.listStoragePools API call
+ */
+public class ListStoragePoolsOptions extends BaseHttpRequestOptions {
+
+   public static ListStoragePoolsOptions NONE = new ListStoragePoolsOptions();
+   
+   public static class Builder {
+
+      private Builder() {}
+      
+      public static ListStoragePoolsOptions clusterId(String clusterId) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.clusterId(clusterId);
+      }
+
+      public static ListStoragePoolsOptions id(String id) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.id(id);
+      }
+
+      public static ListStoragePoolsOptions ipAddress(String ipAddress) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.ipAddress(ipAddress);
+      }
+
+      public static ListStoragePoolsOptions keyword(String keyword) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.keyword(keyword);
+      }
+
+      public static ListStoragePoolsOptions name(String name) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.name(name);
+      }
+
+      public static ListStoragePoolsOptions path(String path) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.path(path);
+      }
+
+      public static ListStoragePoolsOptions podId(String podId) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.podId(podId);
+      }
+
+      public static ListStoragePoolsOptions zoneId(String zoneId) {
+         ListStoragePoolsOptions options = new ListStoragePoolsOptions();
+         return options.zoneId(zoneId);
+      }
+   }
+
+   ListStoragePoolsOptions() {}
+   
+   public ListStoragePoolsOptions clusterId(String clusterId) {
+      this.queryParameters.replaceValues("clusterid", 
ImmutableSet.of(clusterId + ""));
+      return this;
+   }
+
+   public ListStoragePoolsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   public ListStoragePoolsOptions ipAddress(String ipAddress) {
+      this.queryParameters.replaceValues("ipaddress", 
ImmutableSet.of(ipAddress));
+      return this;
+   }
+
+   public ListStoragePoolsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   public ListStoragePoolsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+   public ListStoragePoolsOptions path(String path) {
+      this.queryParameters.replaceValues("path", ImmutableSet.of(path));
+      return this;
+   }
+
+   public ListStoragePoolsOptions podId(String podId) {
+      this.queryParameters.replaceValues("podid", ImmutableSet.of(podId + ""));
+      return this;
+   }
+
+   public ListStoragePoolsOptions zoneId(String zoneId) {
+      this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + 
""));
+      return this;
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListTemplatesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListTemplatesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListTemplatesOptions.java
new file mode 100644
index 0000000..4769920
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListTemplatesOptions.java
@@ -0,0 +1,175 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.cloudstack.domain.TemplateFilter;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what templates information is returned
+ * 
+ * @see <a
+ *      
href="http://download.cloud.com/releases/2.2.0/api/user/listTemplates.html";
+ *      />
+ */
+public class ListTemplatesOptions extends AccountInDomainOptions {
+   public ListTemplatesOptions() {
+      filter(TemplateFilter.EXECUTABLE);
+   }
+
+   public static final ListTemplatesOptions NONE = new ListTemplatesOptions();
+
+   /**
+    * @param filter
+    *           how to constrain the list
+    */
+   public ListTemplatesOptions filter(TemplateFilter filter) {
+      this.queryParameters.replaceValues("templatefilter", 
ImmutableSet.of(filter.toString()));
+      return this;
+   }
+
+   /**
+    * @param id
+    *           the template ID
+    */
+   public ListTemplatesOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param name
+    *           the template name
+    */
+   public ListTemplatesOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   /**
+    * @param zoneId
+    *           list templates by zoneId.
+    */
+   public ListTemplatesOptions zoneId(String zoneId) {
+      this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param projectId
+    *           list templates by projectId.
+    */
+   public ListTemplatesOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param hypervisor
+    *           the hypervisor for which to restrict the search
+    */
+   public ListTemplatesOptions hypervisor(String hypervisor) {
+      this.queryParameters.replaceValues("hypervisor", 
ImmutableSet.of(hypervisor));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @see ListTemplatesOptions#filter
+       */
+      public static ListTemplatesOptions filter(TemplateFilter filter) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.filter(filter);
+      }
+
+      /**
+       * @see ListTemplatesOptions#domainId
+       */
+      public static ListTemplatesOptions domainId(String id) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.domainId(id);
+      }
+
+      /**
+       * @see ListTemplatesOptions#accountInDomain
+       */
+      public static ListTemplatesOptions accountInDomain(String account, 
String domain) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see ListTemplatesOptions#id
+       */
+      public static ListTemplatesOptions id(String id) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListTemplatesOptions#name
+       */
+      public static ListTemplatesOptions name(String name) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.name(name);
+      }
+
+      /**
+       * @see ListTemplatesOptions#zoneId
+       */
+      public static ListTemplatesOptions zoneId(String id) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.zoneId(id);
+      }
+
+      /**
+       * @see ListTemplatesOptions#projectId(String)
+       */
+      public static ListTemplatesOptions projectId(String projectId) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.projectId(projectId);
+      }
+
+      /**
+       * @see ListTemplatesOptions#hypervisor
+       */
+      public static ListTemplatesOptions hypervisor(String hypervisor) {
+         ListTemplatesOptions options = new ListTemplatesOptions();
+         return options.hypervisor(hypervisor);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListTemplatesOptions accountInDomain(String account, String domain) {
+      return ListTemplatesOptions.class.cast(super.accountInDomain(account, 
domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListTemplatesOptions domainId(String domainId) {
+      return ListTemplatesOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsageRecordsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsageRecordsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsageRecordsOptions.java
new file mode 100644
index 0000000..8725226
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsageRecordsOptions.java
@@ -0,0 +1,111 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options to the GlobalUsageApi.listUsageOptions() API call
+ */
+public class ListUsageRecordsOptions extends AccountInDomainOptions {
+
+   public static final ListUsageRecordsOptions NONE = new 
ListUsageRecordsOptions();
+
+   public static class Builder {
+      public static ListUsageRecordsOptions accountInDomain(String account, 
String domainId) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.accountInDomain(account, domainId);
+      }
+
+      public static ListUsageRecordsOptions domainId(String domainId) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.domainId(domainId);
+      }
+
+      public static ListUsageRecordsOptions accountId(String accountId) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.accountId(accountId);
+      }
+
+      public static ListUsageRecordsOptions projectId(String projectId) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.projectId(projectId);
+      }
+
+      public static ListUsageRecordsOptions keyword(String keyword) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.keyword(keyword);
+      }
+         
+      public static ListUsageRecordsOptions type(String type) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.type(type);
+      }
+      
+      public static ListUsageRecordsOptions page(String page) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.page(page);
+      }
+      
+      public static ListUsageRecordsOptions pageSize(String pageSize) {
+         ListUsageRecordsOptions options = new ListUsageRecordsOptions();
+         return options.pageSize(pageSize);
+      }
+
+   }
+
+   @Override
+   public ListUsageRecordsOptions accountInDomain(String account, String 
domain) {
+      return (ListUsageRecordsOptions) super.accountInDomain(account, domain);
+   }
+
+   @Override
+   public ListUsageRecordsOptions domainId(String domainId) {
+      return (ListUsageRecordsOptions) super.domainId(domainId);
+   }
+
+   public ListUsageRecordsOptions accountId(String accountId) {
+      this.queryParameters.replaceValues("accountid", 
ImmutableSet.of(accountId + ""));
+      return this;
+   }
+
+   public ListUsageRecordsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   public ListUsageRecordsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+   
+   public ListUsageRecordsOptions type(String type) {
+      this.queryParameters.replaceValues("type", ImmutableSet.of(type));
+      return this;
+   }
+   
+   public ListUsageRecordsOptions page(String page) {
+      this.queryParameters.replaceValues("page", ImmutableSet.of(page));
+      return this;
+   }
+   
+   public ListUsageRecordsOptions pageSize(String pageSize) {
+      this.queryParameters.replaceValues("pagesize", 
ImmutableSet.of(pageSize));
+      return this;
+   }
+       
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsersOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsersOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsersOptions.java
new file mode 100644
index 0000000..e87e059
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListUsersOptions.java
@@ -0,0 +1,188 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.cloudstack.domain.User;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what user information is returned
+ * 
+ * @see <a
+ *      
href="http://download.cloud.com/releases/2.2.0/api_2.2.12/domain_admin/listUsers.html";
+ *      />
+ */
+public class ListUsersOptions extends AccountInDomainOptions {
+
+   public static final ListUsersOptions NONE = new ListUsersOptions();
+
+   /**
+    * @param id
+    *           list account by account ID
+    */
+   public ListUsersOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param userName
+    *           retrieve user by name
+    */
+   public ListUsersOptions userName(String userName) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(userName));
+      return this;
+   }
+
+   /**
+    * @param state
+    *           list accounts by state. Valid states are enabled, disabled, and
+    *           locked.
+    */
+   public ListUsersOptions state(User.State state) {
+      this.queryParameters.replaceValues("state", 
ImmutableSet.of(state.toString()));
+      return this;
+   }
+
+   /**
+    * @param accountType
+    *             List users by account type. Valid types include admin,
+    *             domain-admin, read-only-admin, or user.
+    */
+   public ListUsersOptions accountType(String accountType) {
+      this.queryParameters.replaceValues("accounttype", 
ImmutableSet.of(accountType));
+      return this;
+   }
+
+   /**
+    * @param keyword
+    */
+   public ListUsersOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   /**
+    * @param page
+    *          the page number
+    */
+   public ListUsersOptions page(long page) {
+      this.queryParameters.replaceValues("page", ImmutableSet.of(page + ""));
+      return this;
+   }
+
+   /**
+    * @param pageSize
+    *          the number of items per page
+    */
+   public ListUsersOptions pageSize(long pageSize) {
+      this.queryParameters.replaceValues("pagesize", ImmutableSet.of(pageSize 
+ ""));
+      return this;
+   }
+
+
+   public static class Builder {
+      /**
+       * @see ListUsersOptions#id
+       */
+      public static ListUsersOptions id(String id) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListUsersOptions#userName(String)
+       */
+      public static ListUsersOptions userName(String name) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.userName(name);
+      }
+
+      /**
+       * @see ListUsersOptions#state
+       */
+      public static ListUsersOptions state(User.State state) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.state(state);
+      }
+
+      /**
+       * @see ListUsersOptions#accountType
+       */
+      public static ListUsersOptions accountType(String accountType) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.accountType(accountType);
+      }
+
+      /**
+       * @see ListUsersOptions#keyword
+       */
+      public static ListUsersOptions keyword(String keyword) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.keyword(keyword);
+      }
+
+      /**
+       * @see ListUsersOptions#page
+       */
+      public static ListUsersOptions page(long page) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.page(page);
+      }
+
+      /**
+       * @see ListUsersOptions#pageSize
+       */
+      public static ListUsersOptions pageSize(long pageSize) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.pageSize(pageSize);
+      }
+
+      /**
+       * @see ListUsersOptions#accountInDomain
+       */
+      public static ListUsersOptions accountInDomain(String account, String 
domain) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see ListUsersOptions#domainId
+       */
+      public static ListUsersOptions domainId(String id) {
+         ListUsersOptions options = new ListUsersOptions();
+         return options.domainId(id);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListUsersOptions accountInDomain(String account, String domain) {
+      return ListUsersOptions.class.cast(super.accountInDomain(account, 
domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListUsersOptions domainId(String domainId) {
+      return ListUsersOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVMGroupsOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVMGroupsOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVMGroupsOptions.java
new file mode 100644
index 0000000..3bec50f
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVMGroupsOptions.java
@@ -0,0 +1,132 @@
+/*
+ * 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.cloudstack.options;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what VMGroups information is returned
+ *
+ * @see <a
+ *      
href="http://download.cloud.com/releases/2.2.8/api/user/listInstanceGroups.html";
+ *      />
+ */
+public class ListVMGroupsOptions extends BaseHttpRequestOptions {
+
+   public static final ListVMGroupsOptions NONE = new ListVMGroupsOptions();
+
+   /**
+    * @param id list VMGroups by id
+    */
+   public ListVMGroupsOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param account account who owns the VMGroups
+    */
+   public ListVMGroupsOptions account(String account) {
+      this.queryParameters.replaceValues("account", ImmutableSet.of(account));
+      return this;
+   }
+
+   /**
+    * @param domainId domain ID of the account owning the VMGroups
+    */
+   public ListVMGroupsOptions domainId(String domainId) {
+      this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId 
+ ""));
+      return this;
+   }
+
+   /**
+    * @param projectId id of the project the vm group is in
+    */
+   public ListVMGroupsOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   /**
+    * @param keyword keyword to search on
+    */
+   public ListVMGroupsOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   /**
+    * @param name find a VMGroup by its name
+    */
+   public ListVMGroupsOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   public static class Builder {
+      /**
+       * @see org.jclouds.cloudstack.options.ListVMGroupsOptions#id
+       */
+      public static ListVMGroupsOptions id(String id) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListVMGroupsOptions#account
+       */
+      public static ListVMGroupsOptions account(String account) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.account(account);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListVMGroupsOptions#domainId
+       */
+      public static ListVMGroupsOptions domainId(String id) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.domainId(id);
+      }
+
+      /**
+       * @see 
org.jclouds.cloudstack.options.ListVMGroupsOptions#projectId(String)
+       */
+      public static ListVMGroupsOptions projectId(String id) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.projectId(id);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListVMGroupsOptions#keyword
+       */
+      public static ListVMGroupsOptions keyword(String keyword) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.keyword(keyword);
+      }
+
+      /**
+       * @see org.jclouds.cloudstack.options.ListVMGroupsOptions#account
+       */
+      public static ListVMGroupsOptions name(String name) {
+         ListVMGroupsOptions options = new ListVMGroupsOptions();
+         return options.name(name);
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVirtualMachinesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVirtualMachinesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVirtualMachinesOptions.java
new file mode 100644
index 0000000..4d1c7d6
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVirtualMachinesOptions.java
@@ -0,0 +1,243 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options used to control what virtual machines information is returned
+ * 
+ * @see <a href=
+ *      
"http://download.cloud.com/releases/2.2.0/api/user/listVirtualMachines.html";
+ *      />
+ */
+public class ListVirtualMachinesOptions extends AccountInDomainOptions {
+
+   public static final ListVirtualMachinesOptions NONE = new 
ListVirtualMachinesOptions();
+
+   /**
+    * @param id
+    *           the ID of the virtual machine
+    */
+   public ListVirtualMachinesOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   /**
+    * @param name
+    *           the virtual machine name
+    */
+   public ListVirtualMachinesOptions name(String name) {
+      this.queryParameters.replaceValues("name", ImmutableSet.of(name));
+      return this;
+   }
+
+   /**
+    * @param state
+    *           state of the virtual machine
+    */
+   public ListVirtualMachinesOptions state(String state) {
+      this.queryParameters.replaceValues("state", ImmutableSet.of(state));
+      return this;
+   }
+
+   /**
+    * @param groupId
+    *           list virtual machines by groupId.
+    */
+   public ListVirtualMachinesOptions groupId(String groupId) {
+      this.queryParameters.replaceValues("groupid", ImmutableSet.of(groupId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param hostId
+    *           list virtual machines by hostId.
+    */
+   public ListVirtualMachinesOptions hostId(String hostId) {
+      this.queryParameters.replaceValues("hostid", ImmutableSet.of(hostId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param networkId
+    *           list virtual machines by networkId.
+    */
+   public ListVirtualMachinesOptions networkId(String networkId) {
+      this.queryParameters.replaceValues("networkid", 
ImmutableSet.of(networkId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param podId
+    *           list virtual machines by podId.
+    */
+   public ListVirtualMachinesOptions podId(String podId) {
+      this.queryParameters.replaceValues("podid", ImmutableSet.of(podId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param projectId
+    *           list virtual machines by projectId.
+    */
+   public ListVirtualMachinesOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+
+   }
+
+   /**
+    * @param zoneId
+    *           list virtual machines by zoneId.
+    */
+   public ListVirtualMachinesOptions zoneId(String zoneId) {
+      this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + 
""));
+      return this;
+
+   }
+
+   /**
+    * @param usesVirtualNetwork
+    *           list by network type; true if need to list vms using Virtual
+    *           Network, false otherwise
+    */
+   public ListVirtualMachinesOptions usesVirtualNetwork(boolean 
usesVirtualNetwork) {
+      this.queryParameters.replaceValues("forvirtualnetwork", 
ImmutableSet.of(usesVirtualNetwork + ""));
+      return this;
+   }
+
+   public static class Builder {
+
+      /**
+       * @see ListVirtualMachinesOptions#accountInDomain
+       */
+      public static ListVirtualMachinesOptions accountInDomain(String account, 
String domain) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.accountInDomain(account, domain);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#domainId
+       */
+      public static ListVirtualMachinesOptions domainId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.domainId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#id
+       */
+      public static ListVirtualMachinesOptions id(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.id(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#name
+       */
+      public static ListVirtualMachinesOptions name(String name) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.name(name);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#state
+       */
+      public static ListVirtualMachinesOptions state(String state) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.state(state);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#groupId
+       */
+      public static ListVirtualMachinesOptions groupId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.groupId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#hostId
+       */
+      public static ListVirtualMachinesOptions hostId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.hostId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#networkId
+       */
+      public static ListVirtualMachinesOptions networkId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.networkId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#podId
+       */
+      public static ListVirtualMachinesOptions podId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.podId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#projectId(String)
+       */
+      public static ListVirtualMachinesOptions projectId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.projectId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#zoneId
+       */
+      public static ListVirtualMachinesOptions zoneId(String id) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.zoneId(id);
+      }
+
+      /**
+       * @see ListVirtualMachinesOptions#usesVirtualNetwork
+       */
+      public static ListVirtualMachinesOptions usesVirtualNetwork(boolean 
usesVirtualNetwork) {
+         ListVirtualMachinesOptions options = new ListVirtualMachinesOptions();
+         return options.usesVirtualNetwork(usesVirtualNetwork);
+      }
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListVirtualMachinesOptions accountInDomain(String account, String 
domain) {
+      return 
ListVirtualMachinesOptions.class.cast(super.accountInDomain(account, domain));
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ListVirtualMachinesOptions domainId(String domainId) {
+      return ListVirtualMachinesOptions.class.cast(super.domainId(domainId));
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/86fd5cf2/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVlanIPRangesOptions.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVlanIPRangesOptions.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVlanIPRangesOptions.java
new file mode 100644
index 0000000..7a8b973
--- /dev/null
+++ 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/ListVlanIPRangesOptions.java
@@ -0,0 +1,127 @@
+/*
+ * 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.cloudstack.options;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Options to the listVLANIPRanges() API call
+ */
+public class ListVlanIPRangesOptions extends AccountInDomainOptions {
+
+   public static class Builder {
+
+      public static ListVlanIPRangesOptions accountInDomain(String account, 
String domainId) {
+         return new ListVlanIPRangesOptions().accountInDomain(account, 
domainId);
+      }
+
+      public static ListVlanIPRangesOptions domainId(String domainId) {
+         return new ListVlanIPRangesOptions().domainId(domainId);
+      }
+
+      public static ListVlanIPRangesOptions forVirtualNetwork(boolean 
forVirtualNetwork) {
+         return new 
ListVlanIPRangesOptions().forVirtualNetwork(forVirtualNetwork);
+      }
+
+      public static ListVlanIPRangesOptions id(String id) {
+         return new ListVlanIPRangesOptions().id(id);
+      }
+
+      public static ListVlanIPRangesOptions keyword(String keyword) {
+         return new ListVlanIPRangesOptions().keyword(keyword);
+      }
+
+      public static ListVlanIPRangesOptions networkId(String networkId) {
+         return new ListVlanIPRangesOptions().networkId(networkId);
+      }
+
+      public static ListVlanIPRangesOptions podId(String podId) {
+         return new ListVlanIPRangesOptions().podId(podId);
+      }
+
+      public static ListVlanIPRangesOptions projectId(String projectId) {
+         return new ListVlanIPRangesOptions().projectId(projectId);
+      }
+
+      public static ListVlanIPRangesOptions vlan(long vlan) {
+         return new ListVlanIPRangesOptions().vlan(vlan);
+      }
+
+      public static ListVlanIPRangesOptions vlan(String vlan) {
+         return new ListVlanIPRangesOptions().vlan(vlan + "");
+      }
+
+      public static ListVlanIPRangesOptions zoneId(String zoneId) {
+         return new ListVlanIPRangesOptions().zoneId(zoneId);
+      }
+   }
+
+   @Override
+   public ListVlanIPRangesOptions accountInDomain(String account, String 
domainId) {
+      return (ListVlanIPRangesOptions) super.accountInDomain(account, 
domainId);
+   }
+
+   @Override
+   public ListVlanIPRangesOptions domainId(String domainId) {
+      return (ListVlanIPRangesOptions) super.domainId(domainId);
+   }
+
+   public ListVlanIPRangesOptions forVirtualNetwork(boolean forVirtualNetwork) 
{
+      this.queryParameters.replaceValues("forvirtualnetwork", 
ImmutableSet.of(forVirtualNetwork + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions id(String id) {
+      this.queryParameters.replaceValues("id", ImmutableSet.of(id + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions keyword(String keyword) {
+      this.queryParameters.replaceValues("keyword", ImmutableSet.of(keyword));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions networkId(String networkId) {
+      this.queryParameters.replaceValues("networkid", 
ImmutableSet.of(networkId + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions podId(String podId) {
+      this.queryParameters.replaceValues("podid", ImmutableSet.of(podId + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions projectId(String projectId) {
+      this.queryParameters.replaceValues("projectid", 
ImmutableSet.of(projectId + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions vlan(String vlan) {
+      this.queryParameters.replaceValues("vlan", ImmutableSet.of(vlan));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions vlan(long vlan) {
+      this.queryParameters.replaceValues("vlan", ImmutableSet.of(vlan + ""));
+      return this;
+   }
+
+   public ListVlanIPRangesOptions zoneId(String zoneId) {
+      this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + 
""));
+      return this;
+   }
+}

Reply via email to