You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/11/08 19:08:34 UTC

[18/76] [abbrv] CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention Signed-off-by: SrikanteswaraRao Talluri

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/findHostsForMigration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/findHostsForMigration.py b/tools/marvin/build/lib/marvin/cloudstackAPI/findHostsForMigration.py
new file mode 100644
index 0000000..cd6d34c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/findHostsForMigration.py
@@ -0,0 +1,126 @@
+# 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.
+
+
+"""Find hosts suitable for migrating a virtual machine."""
+from baseCmd import *
+from baseResponse import *
+class findHostsForMigrationCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """find hosts to which this VM can be migrated and flag the hosts with enough CPU/RAM to host the VM"""
+        """Required"""
+        self.virtualmachineid = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        self.required = ["virtualmachineid",]
+
+class findHostsForMigrationResponse (baseResponse):
+    def __init__(self):
+        """the ID of the host"""
+        self.id = None
+        """the cpu average load on the host"""
+        self.averageload = None
+        """capabilities of the host"""
+        self.capabilities = None
+        """the cluster ID of the host"""
+        self.clusterid = None
+        """the cluster name of the host"""
+        self.clustername = None
+        """the cluster type of the cluster that host belongs to"""
+        self.clustertype = None
+        """the amount of the host's CPU currently allocated"""
+        self.cpuallocated = None
+        """the CPU number of the host"""
+        self.cpunumber = None
+        """the CPU speed of the host"""
+        self.cpuspeed = None
+        """the amount of the host's CPU currently used"""
+        self.cpuused = None
+        """the amount of the host's CPU after applying the cpu.overprovisioning.factor"""
+        self.cpuwithoverprovisioning = None
+        """the date and time the host was created"""
+        self.created = None
+        """true if the host is disconnected. False otherwise."""
+        self.disconnected = None
+        """the host's currently allocated disk size"""
+        self.disksizeallocated = None
+        """the total disk size of the host"""
+        self.disksizetotal = None
+        """events available for the host"""
+        self.events = None
+        """true if the host is Ha host (dedicated to vms started by HA process; false otherwise"""
+        self.hahost = None
+        """true if this host has enough CPU and RAM capacity to migrate a VM to it, false otherwise"""
+        self.hasenoughcapacity = None
+        """comma-separated list of tags for the host"""
+        self.hosttags = None
+        """the host hypervisor"""
+        self.hypervisor = None
+        """the hypervisor version"""
+        self.hypervisorversion = None
+        """the IP address of the host"""
+        self.ipaddress = None
+        """true if local storage is active, false otherwise"""
+        self.islocalstorageactive = None
+        """the date and time the host was last pinged"""
+        self.lastpinged = None
+        """the management server ID of the host"""
+        self.managementserverid = None
+        """the amount of the host's memory currently allocated"""
+        self.memoryallocated = None
+        """the memory total of the host"""
+        self.memorytotal = None
+        """the amount of the host's memory currently used"""
+        self.memoryused = None
+        """the name of the host"""
+        self.name = None
+        """the incoming network traffic on the host"""
+        self.networkkbsread = None
+        """the outgoing network traffic on the host"""
+        self.networkkbswrite = None
+        """the OS category ID of the host"""
+        self.oscategoryid = None
+        """the OS category name of the host"""
+        self.oscategoryname = None
+        """the Pod ID of the host"""
+        self.podid = None
+        """the Pod name of the host"""
+        self.podname = None
+        """the date and time the host was removed"""
+        self.removed = None
+        """true if migrating a vm to this host requires storage motion, false otherwise"""
+        self.requiresStorageMotion = None
+        """the resource state of the host"""
+        self.resourcestate = None
+        """the state of the host"""
+        self.state = None
+        """true if this host is suitable(has enough capacity and satisfies all conditions like hosttags, max guests vm limit etc) to migrate a VM to it , false otherwise"""
+        self.suitableformigration = None
+        """the host type"""
+        self.type = None
+        """the host version"""
+        self.version = None
+        """the Zone ID of the host"""
+        self.zoneid = None
+        """the Zone name of the host"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/findStoragePoolsForMigration.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/findStoragePoolsForMigration.py b/tools/marvin/build/lib/marvin/cloudstackAPI/findStoragePoolsForMigration.py
new file mode 100644
index 0000000..71fda44
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/findStoragePoolsForMigration.py
@@ -0,0 +1,84 @@
+# 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.
+
+
+"""Lists storage pools available for migration of a volume."""
+from baseCmd import *
+from baseResponse import *
+class findStoragePoolsForMigrationCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the ID of the volume"""
+        """Required"""
+        self.id = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        self.required = ["id",]
+
+class findStoragePoolsForMigrationResponse (baseResponse):
+    def __init__(self):
+        """the ID of the storage pool"""
+        self.id = None
+        """IOPS CloudStack can provision from this storage pool"""
+        self.capacityiops = None
+        """the ID of the cluster for the storage pool"""
+        self.clusterid = None
+        """the name of the cluster for the storage pool"""
+        self.clustername = None
+        """the date and time the storage pool was created"""
+        self.created = None
+        """the host's currently allocated disk size"""
+        self.disksizeallocated = None
+        """the total disk size of the storage pool"""
+        self.disksizetotal = None
+        """the host's currently used disk size"""
+        self.disksizeused = None
+        """the hypervisor type of the storage pool"""
+        self.hypervisor = None
+        """the IP address of the storage pool"""
+        self.ipaddress = None
+        """the name of the storage pool"""
+        self.name = None
+        """the storage pool path"""
+        self.path = None
+        """the Pod ID of the storage pool"""
+        self.podid = None
+        """the Pod name of the storage pool"""
+        self.podname = None
+        """the scope of the storage pool"""
+        self.scope = None
+        """the state of the storage pool"""
+        self.state = None
+        """true if this pool is suitable to migrate a volume, false otherwise"""
+        self.suitableformigration = None
+        """the tags for the storage pool"""
+        self.tags = None
+        """the storage pool type"""
+        self.type = None
+        """the Zone ID of the storage pool"""
+        self.zoneid = None
+        """the Zone name of the storage pool"""
+        self.zonename = None
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/generateUsageRecords.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/generateUsageRecords.py b/tools/marvin/build/lib/marvin/cloudstackAPI/generateUsageRecords.py
new file mode 100644
index 0000000..26dbdbc
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/generateUsageRecords.py
@@ -0,0 +1,41 @@
+# 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.
+
+
+"""Generates usage records. This will generate records only if there any records to be generated, i.e if the scheduled usage job was not run or failed"""
+from baseCmd import *
+from baseResponse import *
+class generateUsageRecordsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """End date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-03."""
+        """Required"""
+        self.enddate = None
+        """Start date range for usage record query. Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-01."""
+        """Required"""
+        self.startdate = None
+        """List events for the specified domain."""
+        self.domainid = None
+        self.required = ["enddate","startdate",]
+
+class generateUsageRecordsResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/getApiLimit.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/getApiLimit.py b/tools/marvin/build/lib/marvin/cloudstackAPI/getApiLimit.py
new file mode 100644
index 0000000..7b500fa
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/getApiLimit.py
@@ -0,0 +1,39 @@
+# 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.
+
+
+"""Get API limit count for the caller"""
+from baseCmd import *
+from baseResponse import *
+class getApiLimitCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        self.required = []
+
+class getApiLimitResponse (baseResponse):
+    def __init__(self):
+        """the account name of the api remaining count"""
+        self.account = None
+        """the account uuid of the api remaining count"""
+        self.accountid = None
+        """currently allowed number of apis"""
+        self.apiAllowed = None
+        """number of api already issued"""
+        self.apiIssued = None
+        """seconds left to reset counters"""
+        self.expireAfter = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/getCloudIdentifier.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/getCloudIdentifier.py b/tools/marvin/build/lib/marvin/cloudstackAPI/getCloudIdentifier.py
new file mode 100644
index 0000000..42823a5
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/getCloudIdentifier.py
@@ -0,0 +1,38 @@
+# 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.
+
+
+"""Retrieves a cloud identifier."""
+from baseCmd import *
+from baseResponse import *
+class getCloudIdentifierCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the user ID for the cloud identifier"""
+        """Required"""
+        self.userid = None
+        self.required = ["userid",]
+
+class getCloudIdentifierResponse (baseResponse):
+    def __init__(self):
+        """the cloud identifier"""
+        self.cloudidentifier = None
+        """the signed response for the cloud identifier"""
+        self.signature = None
+        """the user ID for the cloud identifier"""
+        self.userid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/getUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/getUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/getUser.py
new file mode 100644
index 0000000..88a5c33
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/getUser.py
@@ -0,0 +1,66 @@
+# 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.
+
+
+"""Find user account by API key"""
+from baseCmd import *
+from baseResponse import *
+class getUserCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """API key of the user"""
+        """Required"""
+        self.userapikey = None
+        self.required = ["userapikey",]
+
+class getUserResponse (baseResponse):
+    def __init__(self):
+        """the user ID"""
+        self.id = None
+        """the account name of the user"""
+        self.account = None
+        """the account ID of the user"""
+        self.accountid = None
+        """the account type of the user"""
+        self.accounttype = None
+        """the api key of the user"""
+        self.apikey = None
+        """the date and time the user account was created"""
+        self.created = None
+        """the domain name of the user"""
+        self.domain = None
+        """the domain ID of the user"""
+        self.domainid = None
+        """the user email address"""
+        self.email = None
+        """the user firstname"""
+        self.firstname = None
+        """the boolean value representing if the updating target is in caller's child domain"""
+        self.iscallerchilddomain = None
+        """true if user is default, false otherwise"""
+        self.isdefault = None
+        """the user lastname"""
+        self.lastname = None
+        """the secret key of the user"""
+        self.secretkey = None
+        """the user state"""
+        self.state = None
+        """the timezone user was created in"""
+        self.timezone = None
+        """the user name"""
+        self.username = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/getVMPassword.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/getVMPassword.py b/tools/marvin/build/lib/marvin/cloudstackAPI/getVMPassword.py
new file mode 100644
index 0000000..e4c519b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/getVMPassword.py
@@ -0,0 +1,34 @@
+# 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.
+
+
+"""Returns an encrypted password for the VM"""
+from baseCmd import *
+from baseResponse import *
+class getVMPasswordCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """The ID of the virtual machine"""
+        """Required"""
+        self.id = None
+        self.required = ["id",]
+
+class getVMPasswordResponse (baseResponse):
+    def __init__(self):
+        """The encrypted password of the VM"""
+        self.encryptedpassword = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/ldapCreateAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/ldapCreateAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/ldapCreateAccount.py
new file mode 100644
index 0000000..d7c1286
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/ldapCreateAccount.py
@@ -0,0 +1,190 @@
+# 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.
+
+
+"""Creates an account from an LDAP user"""
+from baseCmd import *
+from baseResponse import *
+class ldapCreateAccountCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Type of the account.  Specify 0 for user, 1 for root admin, and 2 for domain admin"""
+        """Required"""
+        self.accounttype = None
+        """Unique username."""
+        """Required"""
+        self.username = None
+        """Creates the user under the specified account. If no account is specified, the username will be used as the account name."""
+        self.account = None
+        """details for account used to store specific parameters"""
+        self.accountdetails = []
+        """Account UUID, required for adding account from external provisioning system"""
+        self.accountid = None
+        """Creates the user under the specified domain."""
+        self.domainid = None
+        """Network domain for the account's networks"""
+        self.networkdomain = None
+        """Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format."""
+        self.timezone = None
+        """User UUID, required for adding account from external provisioning system"""
+        self.userid = None
+        self.required = ["accounttype","username",]
+
+class ldapCreateAccountResponse (baseResponse):
+    def __init__(self):
+        """the id of the account"""
+        self.id = None
+        """details for the account"""
+        self.accountdetails = None
+        """account type (admin, domain-admin, user)"""
+        self.accounttype = None
+        """the total number of cpu cores available to be created for this account"""
+        self.cpuavailable = None
+        """the total number of cpu cores the account can own"""
+        self.cpulimit = None
+        """the total number of cpu cores owned by account"""
+        self.cputotal = None
+        """the default zone of the account"""
+        self.defaultzoneid = None
+        """name of the Domain the account belongs too"""
+        self.domain = None
+        """id of the Domain the account belongs too"""
+        self.domainid = None
+        """the total number of public ip addresses available for this account to acquire"""
+        self.ipavailable = None
+        """the total number of public ip addresses this account can acquire"""
+        self.iplimit = None
+        """the total number of public ip addresses allocated for this account"""
+        self.iptotal = None
+        """true if the account requires cleanup"""
+        self.iscleanuprequired = None
+        """true if account is default, false otherwise"""
+        self.isdefault = None
+        """the total memory (in MB) available to be created for this account"""
+        self.memoryavailable = None
+        """the total memory (in MB) the account can own"""
+        self.memorylimit = None
+        """the total memory (in MB) owned by account"""
+        self.memorytotal = None
+        """the name of the account"""
+        self.name = None
+        """the total number of networks available to be created for this account"""
+        self.networkavailable = None
+        """the network domain"""
+        self.networkdomain = None
+        """the total number of networks the account can own"""
+        self.networklimit = None
+        """the total number of networks owned by account"""
+        self.networktotal = None
+        """the total primary storage space (in GiB) available to be used for this account"""
+        self.primarystorageavailable = None
+        """the total primary storage space (in GiB) the account can own"""
+        self.primarystoragelimit = None
+        """the total primary storage space (in GiB) owned by account"""
+        self.primarystoragetotal = None
+        """the total number of projects available for administration by this account"""
+        self.projectavailable = None
+        """the total number of projects the account can own"""
+        self.projectlimit = None
+        """the total number of projects being administrated by this account"""
+        self.projecttotal = None
+        """the total number of network traffic bytes received"""
+        self.receivedbytes = None
+        """the total secondary storage space (in GiB) available to be used for this account"""
+        self.secondarystorageavailable = None
+        """the total secondary storage space (in GiB) the account can own"""
+        self.secondarystoragelimit = None
+        """the total secondary storage space (in GiB) owned by account"""
+        self.secondarystoragetotal = None
+        """the total number of network traffic bytes sent"""
+        self.sentbytes = None
+        """the total number of snapshots available for this account"""
+        self.snapshotavailable = None
+        """the total number of snapshots which can be stored by this account"""
+        self.snapshotlimit = None
+        """the total number of snapshots stored by this account"""
+        self.snapshottotal = None
+        """the state of the account"""
+        self.state = None
+        """the total number of templates available to be created by this account"""
+        self.templateavailable = None
+        """the total number of templates which can be created by this account"""
+        self.templatelimit = None
+        """the total number of templates which have been created by this account"""
+        self.templatetotal = None
+        """the total number of virtual machines available for this account to acquire"""
+        self.vmavailable = None
+        """the total number of virtual machines that can be deployed by this account"""
+        self.vmlimit = None
+        """the total number of virtual machines running for this account"""
+        self.vmrunning = None
+        """the total number of virtual machines stopped for this account"""
+        self.vmstopped = None
+        """the total number of virtual machines deployed by this account"""
+        self.vmtotal = None
+        """the total volume available for this account"""
+        self.volumeavailable = None
+        """the total volume which can be used by this account"""
+        self.volumelimit = None
+        """the total volume being used by this account"""
+        self.volumetotal = None
+        """the total number of vpcs available to be created for this account"""
+        self.vpcavailable = None
+        """the total number of vpcs the account can own"""
+        self.vpclimit = None
+        """the total number of vpcs owned by account"""
+        self.vpctotal = None
+        """the list of users associated with account"""
+        self.user = []
+
+class user:
+    def __init__(self):
+        """"the user ID"""
+        self.id = None
+        """"the account name of the user"""
+        self.account = None
+        """"the account ID of the user"""
+        self.accountid = None
+        """"the account type of the user"""
+        self.accounttype = None
+        """"the api key of the user"""
+        self.apikey = None
+        """"the date and time the user account was created"""
+        self.created = None
+        """"the domain name of the user"""
+        self.domain = None
+        """"the domain ID of the user"""
+        self.domainid = None
+        """"the user email address"""
+        self.email = None
+        """"the user firstname"""
+        self.firstname = None
+        """"the boolean value representing if the updating target is in caller's child domain"""
+        self.iscallerchilddomain = None
+        """"true if user is default, false otherwise"""
+        self.isdefault = None
+        """"the user lastname"""
+        self.lastname = None
+        """"the secret key of the user"""
+        self.secretkey = None
+        """"the user state"""
+        self.state = None
+        """"the timezone user was created in"""
+        self.timezone = None
+        """"the user name"""
+        self.username = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAccounts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAccounts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAccounts.py
new file mode 100644
index 0000000..85a75a6
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAccounts.py
@@ -0,0 +1,192 @@
+# 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.
+
+
+"""Lists accounts and provides detailed account information for listed accounts"""
+from baseCmd import *
+from baseResponse import *
+class listAccountsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list accounts by account type. Valid account types are 1 (admin), 2 (domain-admin), and 0 (user)."""
+        self.accounttype = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """list account by account ID"""
+        self.id = None
+        """list accounts by cleanuprequred attribute (values are true or false)"""
+        self.iscleanuprequired = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """list account by account name"""
+        self.name = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """list accounts by state. Valid states are enabled, disabled, and locked."""
+        self.state = None
+        self.required = []
+
+class listAccountsResponse (baseResponse):
+    def __init__(self):
+        """the id of the account"""
+        self.id = None
+        """details for the account"""
+        self.accountdetails = None
+        """account type (admin, domain-admin, user)"""
+        self.accounttype = None
+        """the total number of cpu cores available to be created for this account"""
+        self.cpuavailable = None
+        """the total number of cpu cores the account can own"""
+        self.cpulimit = None
+        """the total number of cpu cores owned by account"""
+        self.cputotal = None
+        """the default zone of the account"""
+        self.defaultzoneid = None
+        """name of the Domain the account belongs too"""
+        self.domain = None
+        """id of the Domain the account belongs too"""
+        self.domainid = None
+        """the total number of public ip addresses available for this account to acquire"""
+        self.ipavailable = None
+        """the total number of public ip addresses this account can acquire"""
+        self.iplimit = None
+        """the total number of public ip addresses allocated for this account"""
+        self.iptotal = None
+        """true if the account requires cleanup"""
+        self.iscleanuprequired = None
+        """true if account is default, false otherwise"""
+        self.isdefault = None
+        """the total memory (in MB) available to be created for this account"""
+        self.memoryavailable = None
+        """the total memory (in MB) the account can own"""
+        self.memorylimit = None
+        """the total memory (in MB) owned by account"""
+        self.memorytotal = None
+        """the name of the account"""
+        self.name = None
+        """the total number of networks available to be created for this account"""
+        self.networkavailable = None
+        """the network domain"""
+        self.networkdomain = None
+        """the total number of networks the account can own"""
+        self.networklimit = None
+        """the total number of networks owned by account"""
+        self.networktotal = None
+        """the total primary storage space (in GiB) available to be used for this account"""
+        self.primarystorageavailable = None
+        """the total primary storage space (in GiB) the account can own"""
+        self.primarystoragelimit = None
+        """the total primary storage space (in GiB) owned by account"""
+        self.primarystoragetotal = None
+        """the total number of projects available for administration by this account"""
+        self.projectavailable = None
+        """the total number of projects the account can own"""
+        self.projectlimit = None
+        """the total number of projects being administrated by this account"""
+        self.projecttotal = None
+        """the total number of network traffic bytes received"""
+        self.receivedbytes = None
+        """the total secondary storage space (in GiB) available to be used for this account"""
+        self.secondarystorageavailable = None
+        """the total secondary storage space (in GiB) the account can own"""
+        self.secondarystoragelimit = None
+        """the total secondary storage space (in GiB) owned by account"""
+        self.secondarystoragetotal = None
+        """the total number of network traffic bytes sent"""
+        self.sentbytes = None
+        """the total number of snapshots available for this account"""
+        self.snapshotavailable = None
+        """the total number of snapshots which can be stored by this account"""
+        self.snapshotlimit = None
+        """the total number of snapshots stored by this account"""
+        self.snapshottotal = None
+        """the state of the account"""
+        self.state = None
+        """the total number of templates available to be created by this account"""
+        self.templateavailable = None
+        """the total number of templates which can be created by this account"""
+        self.templatelimit = None
+        """the total number of templates which have been created by this account"""
+        self.templatetotal = None
+        """the total number of virtual machines available for this account to acquire"""
+        self.vmavailable = None
+        """the total number of virtual machines that can be deployed by this account"""
+        self.vmlimit = None
+        """the total number of virtual machines running for this account"""
+        self.vmrunning = None
+        """the total number of virtual machines stopped for this account"""
+        self.vmstopped = None
+        """the total number of virtual machines deployed by this account"""
+        self.vmtotal = None
+        """the total volume available for this account"""
+        self.volumeavailable = None
+        """the total volume which can be used by this account"""
+        self.volumelimit = None
+        """the total volume being used by this account"""
+        self.volumetotal = None
+        """the total number of vpcs available to be created for this account"""
+        self.vpcavailable = None
+        """the total number of vpcs the account can own"""
+        self.vpclimit = None
+        """the total number of vpcs owned by account"""
+        self.vpctotal = None
+        """the list of users associated with account"""
+        self.user = []
+
+class user:
+    def __init__(self):
+        """"the user ID"""
+        self.id = None
+        """"the account name of the user"""
+        self.account = None
+        """"the account ID of the user"""
+        self.accountid = None
+        """"the account type of the user"""
+        self.accounttype = None
+        """"the api key of the user"""
+        self.apikey = None
+        """"the date and time the user account was created"""
+        self.created = None
+        """"the domain name of the user"""
+        self.domain = None
+        """"the domain ID of the user"""
+        self.domainid = None
+        """"the user email address"""
+        self.email = None
+        """"the user firstname"""
+        self.firstname = None
+        """"the boolean value representing if the updating target is in caller's child domain"""
+        self.iscallerchilddomain = None
+        """"true if user is default, false otherwise"""
+        self.isdefault = None
+        """"the user lastname"""
+        self.lastname = None
+        """"the secret key of the user"""
+        self.secretkey = None
+        """"the user state"""
+        self.state = None
+        """"the timezone user was created in"""
+        self.timezone = None
+        """"the user name"""
+        self.username = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroupTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroupTypes.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroupTypes.py
new file mode 100644
index 0000000..091d391
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroupTypes.py
@@ -0,0 +1,37 @@
+# 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.
+
+
+"""Lists affinity group types available"""
+from baseCmd import *
+from baseResponse import *
+class listAffinityGroupTypesCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        self.required = []
+
+class listAffinityGroupTypesResponse (baseResponse):
+    def __init__(self):
+        """the type of the affinity group"""
+        self.type = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroups.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroups.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroups.py
new file mode 100644
index 0000000..b74791e
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAffinityGroups.py
@@ -0,0 +1,67 @@
+# 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.
+
+
+"""Lists affinity groups"""
+from baseCmd import *
+from baseResponse import *
+class listAffinityGroupsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """list the affinity group by the id provided"""
+        self.id = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """lists affinity groups by name"""
+        self.name = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """lists affinity groups by type"""
+        self.type = None
+        """lists affinity groups by virtual machine id"""
+        self.virtualmachineid = None
+        self.required = []
+
+class listAffinityGroupsResponse (baseResponse):
+    def __init__(self):
+        """the ID of the affinity group"""
+        self.id = None
+        """the account owning the affinity group"""
+        self.account = None
+        """the description of the affinity group"""
+        self.description = None
+        """the domain name of the affinity group"""
+        self.domain = None
+        """the domain ID of the affinity group"""
+        self.domainid = None
+        """the name of the affinity group"""
+        self.name = None
+        """the type of the affinity group"""
+        self.type = None
+        """virtual machine Ids associated with this affinity group"""
+        self.virtualmachineIds = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAlerts.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAlerts.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAlerts.py
new file mode 100644
index 0000000..bcbd1cf
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAlerts.py
@@ -0,0 +1,47 @@
+# 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.
+
+
+"""Lists all alerts."""
+from baseCmd import *
+from baseResponse import *
+class listAlertsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the ID of the alert"""
+        self.id = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """list by alert type"""
+        self.type = None
+        self.required = []
+
+class listAlertsResponse (baseResponse):
+    def __init__(self):
+        """the id of the alert"""
+        self.id = None
+        """description of the alert"""
+        self.description = None
+        """the date and time the alert was sent"""
+        self.sent = None
+        """One of the following alert types: MEMORY = 0, CPU = 1, STORAGE = 2, STORAGE_ALLOCATED = 3, PUBLIC_IP = 4, PRIVATE_IP = 5, HOST = 6, USERVM = 7, DOMAIN_ROUTER = 8, CONSOLE_PROXY = 9, ROUTING = 10: lost connection to default route (to the gateway), STORAGE_MISC = 11: lost connection to default route (to the gateway), USAGE_SERVER = 12: lost connection to default route (to the gateway), MANAGMENT_NODE = 13: lost connection to default route (to the gateway), DOMAIN_ROUTER_MIGRATE = 14, CONSOLE_PROXY_MIGRATE = 15, USERVM_MIGRATE = 16, VLAN = 17, SSVM = 18, USAGE_SERVER_RESULT = 19"""
+        self.type = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listApis.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listApis.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listApis.py
new file mode 100644
index 0000000..9926969
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listApis.py
@@ -0,0 +1,75 @@
+# 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.
+
+
+"""lists all available apis on the server, provided by the Api Discovery plugin"""
+from baseCmd import *
+from baseResponse import *
+class listApisCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """API name"""
+        self.name = None
+        self.required = []
+
+class listApisResponse (baseResponse):
+    def __init__(self):
+        """description of the api"""
+        self.description = None
+        """true if api is asynchronous"""
+        self.isasync = None
+        """the name of the api command"""
+        self.name = None
+        """comma separated related apis"""
+        self.related = None
+        """version of CloudStack the api was introduced in"""
+        self.since = None
+        """response field type"""
+        self.type = None
+        """the list params the api accepts"""
+        self.params = []
+        """api response fields"""
+        self.response = []
+
+class params:
+    def __init__(self):
+        """"description of the api parameter"""
+        self.description = None
+        """"length of the parameter"""
+        self.length = None
+        """"the name of the api parameter"""
+        self.name = None
+        """"comma separated related apis to get the parameter"""
+        self.related = None
+        """"true if this parameter is required for the api request"""
+        self.required = None
+        """"version of CloudStack the api was introduced in"""
+        self.since = None
+        """"parameter type"""
+        self.type = None
+
+class response:
+    def __init__(self):
+        """"description of the api response field"""
+        self.description = None
+        """"the name of the api response field"""
+        self.name = None
+        """"api response fields"""
+        self.response = None
+        """"response field type"""
+        self.type = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAsyncJobs.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAsyncJobs.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAsyncJobs.py
new file mode 100644
index 0000000..7670845
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAsyncJobs.py
@@ -0,0 +1,69 @@
+# 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.
+
+
+"""Lists all pending asynchronous jobs for the account."""
+from baseCmd import *
+from baseResponse import *
+class listAsyncJobsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the start date of the async job"""
+        self.startdate = None
+        self.required = []
+
+class listAsyncJobsResponse (baseResponse):
+    def __init__(self):
+        """the account that executed the async command"""
+        self.accountid = None
+        """the async command executed"""
+        self.cmd = None
+        """the created date of the job"""
+        self.created = None
+        """the unique ID of the instance/entity object related to the job"""
+        self.jobinstanceid = None
+        """the instance/entity object related to the job"""
+        self.jobinstancetype = None
+        """the progress information of the PENDING job"""
+        self.jobprocstatus = None
+        """the result reason"""
+        self.jobresult = None
+        """the result code for the job"""
+        self.jobresultcode = None
+        """the result type"""
+        self.jobresulttype = None
+        """the current job status-should be 0 for PENDING"""
+        self.jobstatus = None
+        """the user that executed the async command"""
+        self.userid = None
+        """the ID of the async job"""
+        self.jobid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScalePolicies.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScalePolicies.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScalePolicies.py
new file mode 100644
index 0000000..a579b5c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScalePolicies.py
@@ -0,0 +1,71 @@
+# 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.
+
+
+"""Lists autoscale policies."""
+from baseCmd import *
+from baseResponse import *
+class listAutoScalePoliciesCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """the action to be executed if all the conditions evaluate to true for the specified duration."""
+        self.action = None
+        """the ID of the condition of the policy"""
+        self.conditionid = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """the ID of the autoscale policy"""
+        self.id = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the ID of the autoscale vm group"""
+        self.vmgroupid = None
+        self.required = []
+
+class listAutoScalePoliciesResponse (baseResponse):
+    def __init__(self):
+        """the autoscale policy ID"""
+        self.id = None
+        """the account owning the autoscale policy"""
+        self.account = None
+        """the action to be executed if all the conditions evaluate to true for the specified duration."""
+        self.action = None
+        """the list of IDs of the conditions that are being evaluated on every interval"""
+        self.conditions = None
+        """the domain name of the autoscale policy"""
+        self.domain = None
+        """the domain ID of the autoscale policy"""
+        self.domainid = None
+        """the duration for which the conditions have to be true before action is taken"""
+        self.duration = None
+        """the project name of the autoscale policy"""
+        self.project = None
+        """the project id autoscale policy"""
+        self.projectid = None
+        """the cool down period for which the policy should not be evaluated after the action has been taken"""
+        self.quiettime = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmGroups.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmGroups.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmGroups.py
new file mode 100644
index 0000000..04e79e4
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmGroups.py
@@ -0,0 +1,83 @@
+# 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.
+
+
+"""Lists autoscale vm groups."""
+from baseCmd import *
+from baseResponse import *
+class listAutoScaleVmGroupsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """the ID of the autoscale vm group"""
+        self.id = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """the ID of the loadbalancer"""
+        self.lbruleid = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the ID of the policy"""
+        self.policyid = None
+        """list objects by project"""
+        self.projectid = None
+        """the ID of the profile"""
+        self.vmprofileid = None
+        """the availability zone ID"""
+        self.zoneid = None
+        self.required = []
+
+class listAutoScaleVmGroupsResponse (baseResponse):
+    def __init__(self):
+        """the autoscale vm group ID"""
+        self.id = None
+        """the account owning the instance group"""
+        self.account = None
+        """the domain name of the vm profile"""
+        self.domain = None
+        """the domain ID of the vm profile"""
+        self.domainid = None
+        """the frequency at which the conditions have to be evaluated"""
+        self.interval = None
+        """the load balancer rule ID"""
+        self.lbruleid = None
+        """the maximum number of members in the vmgroup, The number of instances in the vm group will be equal to or less than this number."""
+        self.maxmembers = None
+        """the minimum number of members in the vmgroup, the number of instances in the vm group will be equal to or more than this number."""
+        self.minmembers = None
+        """the project name of the vm profile"""
+        self.project = None
+        """the project id vm profile"""
+        self.projectid = None
+        """list of scaledown autoscale policies"""
+        self.scaledownpolicies = None
+        """list of scaleup autoscale policies"""
+        self.scaleuppolicies = None
+        """the current state of the AutoScale Vm Group"""
+        self.state = None
+        """the autoscale profile that contains information about the vms in the vm group."""
+        self.vmprofileid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmProfiles.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmProfiles.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmProfiles.py
new file mode 100644
index 0000000..6e3244d
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listAutoScaleVmProfiles.py
@@ -0,0 +1,75 @@
+# 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.
+
+
+"""Lists autoscale vm profiles."""
+from baseCmd import *
+from baseResponse import *
+class listAutoScaleVmProfilesCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """the ID of the autoscale vm profile"""
+        self.id = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """the otherdeployparameters of the autoscale vm profile"""
+        self.otherdeployparams = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """list objects by project"""
+        self.projectid = None
+        """the templateid of the autoscale vm profile"""
+        self.templateid = None
+        self.required = []
+
+class listAutoScaleVmProfilesResponse (baseResponse):
+    def __init__(self):
+        """the autoscale vm profile ID"""
+        self.id = None
+        """the account owning the instance group"""
+        self.account = None
+        """the ID of the user used to launch and destroy the VMs"""
+        self.autoscaleuserid = None
+        """the time allowed for existing connections to get closed before a vm is destroyed"""
+        self.destroyvmgraceperiod = None
+        """the domain name of the vm profile"""
+        self.domain = None
+        """the domain ID of the vm profile"""
+        self.domainid = None
+        """parameters other than zoneId/serviceOfferringId/templateId to be used while deploying a virtual machine"""
+        self.otherdeployparams = None
+        """the project name of the vm profile"""
+        self.project = None
+        """the project id vm profile"""
+        self.projectid = None
+        """the service offering to be used while deploying a virtual machine"""
+        self.serviceofferingid = None
+        """the template to be used while deploying a virtual machine"""
+        self.templateid = None
+        """the availability zone to be used while deploying a virtual machine"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalDhcp.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalDhcp.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalDhcp.py
new file mode 100644
index 0000000..073706d
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalDhcp.py
@@ -0,0 +1,49 @@
+# 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.
+
+
+"""list baremetal dhcp servers"""
+from baseCmd import *
+from baseResponse import *
+class listBaremetalDhcpCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Type of DHCP device"""
+        self.dhcpservertype = None
+        """DHCP server device ID"""
+        self.id = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        self.required = []
+
+class listBaremetalDhcpResponse (baseResponse):
+    def __init__(self):
+        """device id of"""
+        self.id = None
+        """name of the provider"""
+        self.dhcpservertype = None
+        """the physical network to which this external dhcp device belongs to"""
+        self.physicalnetworkid = None
+        """name of the provider"""
+        self.provider = None
+        """url"""
+        self.url = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalPxeServers.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalPxeServers.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalPxeServers.py
new file mode 100644
index 0000000..5b9bb22
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listBaremetalPxeServers.py
@@ -0,0 +1,45 @@
+# 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.
+
+
+"""list baremetal pxe server"""
+from baseCmd import *
+from baseResponse import *
+class listBaremetalPxeServersCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Pxe server device ID"""
+        self.id = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        self.required = []
+
+class listBaremetalPxeServersResponse (baseResponse):
+    def __init__(self):
+        """device id of"""
+        self.id = None
+        """the physical network to which this external dhcp device belongs to"""
+        self.physicalnetworkid = None
+        """name of the provider"""
+        self.provider = None
+        """url"""
+        self.url = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listBigSwitchVnsDevices.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listBigSwitchVnsDevices.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listBigSwitchVnsDevices.py
new file mode 100644
index 0000000..6f7bc81
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listBigSwitchVnsDevices.py
@@ -0,0 +1,49 @@
+# 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.
+
+
+"""Lists BigSwitch Vns devices"""
+from baseCmd import *
+from baseResponse import *
+class listBigSwitchVnsDevicesCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the Physical Network ID"""
+        self.physicalnetworkid = None
+        """bigswitch vns device ID"""
+        self.vnsdeviceid = None
+        self.required = []
+
+class listBigSwitchVnsDevicesResponse (baseResponse):
+    def __init__(self):
+        """device name"""
+        self.bigswitchdevicename = None
+        """the controller Ip address"""
+        self.hostname = None
+        """the physical network to which this BigSwitch Vns belongs to"""
+        self.physicalnetworkid = None
+        """name of the provider"""
+        self.provider = None
+        """device id of the BigSwitch Vns"""
+        self.vnsdeviceid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listCapabilities.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listCapabilities.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listCapabilities.py
new file mode 100644
index 0000000..317ff24
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listCapabilities.py
@@ -0,0 +1,49 @@
+# 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.
+
+
+"""Lists capabilities"""
+from baseCmd import *
+from baseResponse import *
+class listCapabilitiesCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        self.required = []
+
+class listCapabilitiesResponse (baseResponse):
+    def __init__(self):
+        """true if regular user is allowed to create projects"""
+        self.allowusercreateprojects = None
+        """time interval (in seconds) to reset api count"""
+        self.apilimitinterval = None
+        """Max allowed number of api requests within the specified interval"""
+        self.apilimitmax = None
+        """version of the cloud stack"""
+        self.cloudstackversion = None
+        """maximum size that can be specified when create disk from disk offering with custom size"""
+        self.customdiskofferingmaxsize = None
+        """If invitation confirmation is required when add account to project"""
+        self.projectinviterequired = None
+        """true if region wide secondary is enabled, false otherwise"""
+        self.regionsecondaryenabled = None
+        """true if security groups support is enabled, false otherwise"""
+        self.securitygroupsenabled = None
+        """true if region supports elastic load balancer on basic zones"""
+        self.supportELB = None
+        """true if user and domain admins can set templates to be shared, false otherwise"""
+        self.userpublictemplateenabled = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listCapacity.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listCapacity.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listCapacity.py
new file mode 100644
index 0000000..adf6452
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listCapacity.py
@@ -0,0 +1,67 @@
+# 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.
+
+
+"""Lists all the system wide capacities."""
+from baseCmd import *
+from baseResponse import *
+class listCapacityCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """lists capacity by the Cluster ID"""
+        self.clusterid = None
+        """recalculate capacities and fetch the latest"""
+        self.fetchlatest = None
+        """List by keyword"""
+        self.keyword = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """lists capacity by the Pod ID"""
+        self.podid = None
+        """Sort the results. Available values: Usage"""
+        self.sortby = None
+        """lists capacity by type* CAPACITY_TYPE_MEMORY = 0* CAPACITY_TYPE_CPU = 1* CAPACITY_TYPE_STORAGE = 2* CAPACITY_TYPE_STORAGE_ALLOCATED = 3* CAPACITY_TYPE_VIRTUAL_NETWORK_PUBLIC_IP = 4* CAPACITY_TYPE_PRIVATE_IP = 5* CAPACITY_TYPE_SECONDARY_STORAGE = 6* CAPACITY_TYPE_VLAN = 7* CAPACITY_TYPE_DIRECT_ATTACHED_PUBLIC_IP = 8* CAPACITY_TYPE_LOCAL_STORAGE = 9."""
+        self.type = None
+        """lists capacity by the Zone ID"""
+        self.zoneid = None
+        self.required = []
+
+class listCapacityResponse (baseResponse):
+    def __init__(self):
+        """the total capacity available"""
+        self.capacitytotal = None
+        """the capacity currently in use"""
+        self.capacityused = None
+        """the Cluster ID"""
+        self.clusterid = None
+        """the Cluster name"""
+        self.clustername = None
+        """the percentage of capacity currently in use"""
+        self.percentused = None
+        """the Pod ID"""
+        self.podid = None
+        """the Pod name"""
+        self.podname = None
+        """the capacity type"""
+        self.type = None
+        """the Zone ID"""
+        self.zoneid = None
+        """the Zone name"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listClusters.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listClusters.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listClusters.py
new file mode 100644
index 0000000..c0cc067
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listClusters.py
@@ -0,0 +1,102 @@
+# 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.
+
+
+"""Lists clusters."""
+from baseCmd import *
+from baseResponse import *
+class listClustersCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """lists clusters by allocation state"""
+        self.allocationstate = None
+        """lists clusters by cluster type"""
+        self.clustertype = None
+        """lists clusters by hypervisor type"""
+        self.hypervisor = None
+        """lists clusters by the cluster ID"""
+        self.id = None
+        """List by keyword"""
+        self.keyword = None
+        """whether this cluster is managed by cloudstack"""
+        self.managedstate = None
+        """lists clusters by the cluster name"""
+        self.name = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """lists clusters by Pod ID"""
+        self.podid = None
+        """flag to display the capacity of the clusters"""
+        self.showcapacities = None
+        """lists clusters by Zone ID"""
+        self.zoneid = None
+        self.required = []
+
+class listClustersResponse (baseResponse):
+    def __init__(self):
+        """the cluster ID"""
+        self.id = None
+        """the allocation state of the cluster"""
+        self.allocationstate = None
+        """the type of the cluster"""
+        self.clustertype = None
+        """The cpu overcommit ratio of the cluster"""
+        self.cpuovercommitratio = None
+        """the hypervisor type of the cluster"""
+        self.hypervisortype = None
+        """whether this cluster is managed by cloudstack"""
+        self.managedstate = None
+        """The memory overcommit ratio of the cluster"""
+        self.memoryovercommitratio = None
+        """the cluster name"""
+        self.name = None
+        """the Pod ID of the cluster"""
+        self.podid = None
+        """the Pod name of the cluster"""
+        self.podname = None
+        """the Zone ID of the cluster"""
+        self.zoneid = None
+        """the Zone name of the cluster"""
+        self.zonename = None
+        """the capacity of the Cluster"""
+        self.capacity = []
+
+class capacity:
+    def __init__(self):
+        """"the total capacity available"""
+        self.capacitytotal = None
+        """"the capacity currently in use"""
+        self.capacityused = None
+        """"the Cluster ID"""
+        self.clusterid = None
+        """"the Cluster name"""
+        self.clustername = None
+        """"the percentage of capacity currently in use"""
+        self.percentused = None
+        """"the Pod ID"""
+        self.podid = None
+        """"the Pod name"""
+        self.podname = None
+        """"the capacity type"""
+        self.type = None
+        """"the Zone ID"""
+        self.zoneid = None
+        """"the Zone name"""
+        self.zonename = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listConditions.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listConditions.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listConditions.py
new file mode 100644
index 0000000..f19c205
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listConditions.py
@@ -0,0 +1,69 @@
+# 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.
+
+
+"""List Conditions for the specific user"""
+from baseCmd import *
+from baseResponse import *
+class listConditionsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """list resources by account. Must be used with the domainId parameter."""
+        self.account = None
+        """Counter-id of the condition."""
+        self.counterid = None
+        """list only resources belonging to the domain specified"""
+        self.domainid = None
+        """ID of the Condition."""
+        self.id = None
+        """defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."""
+        self.isrecursive = None
+        """List by keyword"""
+        self.keyword = None
+        """If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"""
+        self.listall = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the ID of the policy"""
+        self.policyid = None
+        self.required = []
+
+class listConditionsResponse (baseResponse):
+    def __init__(self):
+        """the id of the Condition"""
+        self.id = None
+        """the owner of the Condition."""
+        self.account = None
+        """Details of the Counter."""
+        self.counter = None
+        """the domain name of the owner."""
+        self.domain = None
+        """the domain id of the Condition owner"""
+        self.domainid = None
+        """the project name of the Condition"""
+        self.project = None
+        """the project id of the Condition."""
+        self.projectid = None
+        """Relational Operator to be used with threshold."""
+        self.relationaloperator = None
+        """Threshold Value for the counter."""
+        self.threshold = None
+        """zone id of counter"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/listConfigurations.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/listConfigurations.py b/tools/marvin/build/lib/marvin/cloudstackAPI/listConfigurations.py
new file mode 100644
index 0000000..5382323
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/listConfigurations.py
@@ -0,0 +1,59 @@
+# 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.
+
+
+"""Lists all configurations."""
+from baseCmd import *
+from baseResponse import *
+class listConfigurationsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the ID of the Account to update the parameter value for corresponding account"""
+        self.accountid = None
+        """lists configurations by category"""
+        self.category = None
+        """the ID of the Cluster to update the parameter value for corresponding cluster"""
+        self.clusterid = None
+        """List by keyword"""
+        self.keyword = None
+        """lists configuration by name"""
+        self.name = None
+        """"""
+        self.page = None
+        """"""
+        self.pagesize = None
+        """the ID of the Storage pool to update the parameter value for corresponding storage pool"""
+        self.storageid = None
+        """the ID of the Zone to update the parameter value for corresponding zone"""
+        self.zoneid = None
+        self.required = []
+
+class listConfigurationsResponse (baseResponse):
+    def __init__(self):
+        """the value of the configuration"""
+        self.id = None
+        """the category of the configuration"""
+        self.category = None
+        """the description of the configuration"""
+        self.description = None
+        """the name of the configuration"""
+        self.name = None
+        """scope(zone/cluster/pool/account) of the parameter that needs to be updated"""
+        self.scope = None
+        """the value of the configuration"""
+        self.value = None
+